Add missing super() calls

Adds missing super() calls to all entities; also adds full BSON
serialization to the Selectable entity thus ensuring that selection
state is preserved.
DB fixes

Fixes issues with the DB module in which Java was mauling byte arrays.
Returns will now be handled internally as Unicode strings (which can
then use #unpack() to convert to the appropriate binary types).
DB improvements

Additional improvements for accessing objects stored into a database.
DB bugfixes, documentation; BSON ext

Fixes errors in the DB library and improves general documentation.  This
commit also updates the BSON extensions with an experimental parse()
method intended to intelligently unwrap BSON data into its appropriate
Ruby type in a behavior similar to JSON.parse().
Range BSON support

Adds proper BSON support for Range objects.  This commit also includes
updates to the general BSON extension, primarily the BSON.generate()
method.

Use the generate() method to produce fully wrapped BSON output that can
be interpreted via BSON.parse().  It should be noted that only calling
#to_bson() on a supporting object does *NOT* prefix it with its
appropriate BSON_TYPE byte.
Merge remote-tracking branch 'origin/development'