Simplified the NamingStrategy by replacing parts of it with Table and Column annotations.
Added assertions to existing tests to verify they work as intended. Changed Model to a value object because we can.
Original pull request: #324.