Allow calling `findOne(id)` with a string

Rational: 

 - Having the pay attention to whether an id variable contains a string
      or an ObjectID instance is a source of common bugs / confusion.
 - Having a way to call `findOne(string)` will get rid of 95% of the 
      usage of the ObjectID constructor in common code and thus
      reduce exposure of the mongo _id implementation detail.