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

This fixes code originally introduced in a3aaffa. 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.