NEW: Added DataObject::getQueriedDatabaseFields() as faster alternative to toMap()
API: CompositeDBField::setValue() may be passed an object as its second argument, in addition to array.

These changes provide a 15% - 20% performance improvement, and as such justify an small API change in the 3.0 branch. It will likely affect anyone who has created their own composite fields, which is fortunately not all that common.
Added test for lazy-loading edge-case in Money field.
Merge pull request #1788 from sminnee/perf-fix-in-viewabledata-obj

Performance fix in calls to CompositeDBField::setValue()