added; promises/A+ comformancy

https://github.com/promises-aplus/promises-spec

adds promise#then, promise#reject
use mpromise
updated; muri 0.2.0
Cast string 'true'/'false' to boolean value
Update test/schema.test.js for cast 'true'/'false'
just support Bool->String->Bool
updated; mocha 1.8.1
allow non-strict sets and updates

useful when cleaning up old properties that are no longer in the schema.

http://bytes.goodeggs.com/post/36553128854/how-to-remove-a-property-from-a-mongoosejs-schema
updated; muri to 0.3.0
added; removing subdoc with _id value support

closes #1278
refactor; populate functionality

added doc#populate
added Model#populate
standardize query,document,Model populate arguments

Model
.find()
.populate({
    path: "_creator"
  , select: "name age"
  , match: { age: { $gte: 21 }}
  , options: { sort: { age: -1 }}
})
.exec()

TODO
  needs to support multi docs + non Mongoose Documents & friends
  code is in non-working state
updated; mpath to 0.1.0
populate; tests; re-enabled
populate; tests; fix query option test
populate; add utils.array.flatten
fixed; rebase regression
update; mpath to 0.1.1
populate; working code (not-backwards compat)

currently retaining _ids for documents not found in populate queries
populate; no need for extra nextTicks
docs;