Replace bson_empty with bson_init_empty and bson_shared_empty

These are a couple tweaks to the conventions adopted in pull request #93.

`bson_init_empty` gets a name and behavior like every other initializer. This also clarifies that empty objects don't need to be passed to `bson_destroy( )`.

When the programmer needs an empty BSON object, s/he can now get one with `bson_shared_empty()` without needing to allocate one first.

The changes to mongo.c and the tests illustrate the way this simplifies things.