Custom property names & custom selects

Intention is to better support things like PostGIS.
#375 #273 

This needs moar tests before it is merged. At the moment it's a proof of concept.