Typeahead fixes for hasOne & API change idsToNames

hasOne saving was broken (and corrupting data if aliased hasOne associations)

idsToNames() changed from overwritting the "id" field
  now it just adds a new field with the "name" value, leaving the "id" alone

the Helper has switched to automatically finding the "name" field/value for defaulting/valuing.