fixed Collection's foreach() implementation
implemented Collection::contains()
added some Collection tests
arranged collection/model/db collection getters, now it's enough to define the alternative DB collection in the model
Model will remove existing _id field from schema if defined invalid
Model handles data passed to __construct() correctly
added Model::loadOriginalData()
ID field key '_id' moved to SchemaManager const
getData() now supports all 3 modes (original, changed, mixed)