removed some OBS code
flatData flattens IDs by default except for _id field
SchemaElementAttr and SchemaElementRelative renamed and now share common SchemaElement abstract
SchemaElement... renamed to SchemaField for coherence
fix typo of last commit. it's late.
consolidated load() and loadOriginalData() methods as well
implemented finder to build mongo queries, fixes in load() which now works
Model improvements:
added mergeData() to merge down dirty data and optional supplied data into originalData (useful after loads)
if a field holds referenced objects, and the value is to be set to an ID only, but the data already set contains the model with the same ID, do not overwrite the value (as they will mean the same anyway)
make sure multi fields always return array unless getting with $asIs