Hacked objectid in there, though not ideally
Glasser's comments on my diff

* Lots of small things like whitespace fixes
* change the way adding a custom type works
First draft of docs for types.
Fixing up docs, making ObjectID consistent with Node api