initial commit of abstract foreign fields
clean up comments
set lazy default to false on auto_now, auto_now_add
add elemMatch selector
don't require objects to be loaded
update examples
Merge branch 'feature/abstract' into develop