Merge pull request #7 from mdietz198/master

Add ManyToOne fields to alias
domain: Fix lombok version
domain: Use toJdbcValue with ResultSet instead of setJdbcValue

rs.getObject returns an Integer for some fields where joist expects a Long. Before this commit, this limitation was handled in DomainObjectMapper by using an abstract setJdbcValue method on AliasColumn that takes the ResultSet and a domain instance as parameters and uses the more specific ResultSet methods (e.g. getLong, getDate, etc) as needed. However, this means that the DataTransferObjectMapper cannot map these as expected (e.g. Long for ID) because there is no DomainObject to call setJdbcValue with. Instead, I replaced the abstract setJdbcValue with toJdbcValue that takes in the ResultSet and returns a value of the right type. toJdbcValue can be then be used in both DomainObjectMapper and DataTransferObject with the default implementation of setJdbcValue.
features: Fix typo in test name
features: Add test showing group by with aggregate in select
domain: Add sum as aggregate function on AliasColumn

This provides an alternative to SelectCountBuilder and extends the functionality to allow aggregate functions that require columns. It only provides sum, but should be easily extensible to other aggregate functions. It adds an abstract super class of AliasColumn called ColumnExpression and a subclass of ColumnExpression Aggregate. ColumnExpression implements enough of the AliasColumn interface to let it be used in SelectItem and DataTransferObjectMapper without needing the expression to tied to a subclass of DomainObject.

I didn't remove SelectCountBuilder since that would break an existing external API and I'm not sure how Joist handles such in terms of version numbers and the like. It is possible for both implementations to coexist.
domain and features: Support Where expressions containing columns