formatting and some modifications

Two biggest changes are:

If database or collection name are not explicitly set, the query should fail. It's a matter of taste, really, but my feeling is that having a database or collection created unintentionally is a bad idea.

Similarly, I changed toArray to not override the cursor's current limit setting unless I explicitly ask it to.