Model.create and create! now can take an array.

[ close #2688 ]
adding multi fields to .unset atomic operation #2478
Update changelog, refactor specs

[ close #2670 ]
Bring back the detailed update selectors.

This is part 1 of #2545.
Remove the unused insert consumer
User $ operator where appropriate.

In the cases where the selector permits it, we now use the positional
operator on atomic updates for embedded documents nested at the first
level deep.

Documents lower than one level will continue to use indexes.

[ close #2545 ]
Update rdoc in atomic module
Dont' clone or dup 'id' fields. [ close #2704 ]
Switch database name when appropriate on session override.

[ close #2714 ]
[ close #2718 ]
Fix find_or_(create|initialize)_by on scoped relations.

[ fix #2707 ]
Update license dates
Cache exists and first when appropriate.

[ close #2667 ]
Make #distinct available at the class level.

[ fix #2719 ]
Allow index definitions on specific databases.

[ close #2615 ]
Allow passing a block to instantiate
Only validate changed associated documents. (regression)

[ fix #2703 ]
Update changelog
Update changelog
Update changelog
Update changelog to reflect #2683 pullback