Refactor relations and Locator away from Singleton

 * Move relations back to static method with Mapper+Entity injected
 * Move relation methods to Mapper instead of Entity
 * Add 'Single' relation class for lazy-loading HasOne and BelongsTo
 * Add 'whereSql' and 'whereFieldSql' methods to query object along with
   passthrough methods for getParameters and setParameters