Make consistent use of helper functions to create bson and cursor objects

Consistently using the _create() functions helps clarify what they're for and how they should be used.

These changes came from pull request #72.