Allow property.select to override the property field name.

This is a generic way to address
https://github.com/dresende/node-orm2/issues/273
Important: property.select can be a function, whose
return value won't be escaped.
Allow custom property names & custom selects
Post rebase fixes1
Fix tests
Add mapsTo test
Merge pull request #488 from dresende/custom-properties

Custom property names & custom selects