move around and rename pack directives
Boolean#from_bson should be a class method
min/max keys should return new instead of self
add deserialize to code classes
allow code classes to be initialized without code
nil class should define from_bson as class method