issue 82 Constraint Complex Array

@link https://github.com/UnionOfRAD/lithium/issues/82
Added tests that satisfy correction of issues #42 and #32
Fixed type cast issue when value is an empty array
Implementing array-based filtering for `first()` and `find()` methods in `\data\Collection`.
Tests are now passing for MongoDB
MongoDb Exporter test case for adding an array to an existing document
Added schema to Exporter tests
Added array tests to exporter tests
Updated _mapRecord() to remove nulls caused by left joins in hasMany relationships
Cleaning up formatting in `\data\collection\RecordSet`.
Fixed incorrect pathKey for 'objects' document
Fixing `Database` test, enabling complex constraints in `Query` objects.
by resetting the schema and/or adding properties we break save,  this should not happen.
Disabling redundant file storage option in MongoDB.
Throwing exceptions on supported constraint operators.
Implementing `Schema` class.
Data: adapting Mock DataSource to reflect recent changes in describe()
Data: adapting datasources to reflect describe() changes and adding docblock data.
QA fixes.
Implementing array-based filtering for `first()` and `find()` methods in `\data\Collection`.