Fix handling of client options (e.g. socket timeout) in command helpers

This fixes code originally introduced in a3aaffaabeef295559ae78cdc5655ee8660512ab. For convenience, command helpers take a single options array. Previously, all of those options were merged into the command document, which meant that client options were never seen by the driver. Now, client options are split from the helper's single options array so they may be passed to MongoDB::command() appropriately.
Convert deprecated timeout option for command helpers
Merge pull request #196