added support for discriminator mapping (closes #1003)
throw an error when a discriminator is added with the same name
added ifError assertions to test
added regression test to show that Model.findOneAndUpdate() appends discriminator type conditions to queries.
CS
set discriminatorKey schema option to '__t' by default
regression tests for population/reference mapping
merge base schema into discriminator schema
have discriminator types inherit from base model's prototype
override discriminator schema except toJSON and toObject
throw error when user tries to customize schema options on discriminator types.
fixed; strict mode warning

closes #1686
fixed; doc.equals w/ _id false

closes #1687
Merge branch '1647'