Fixed PHP-658: Add error codes for GridFSExceptions
Test for exception codes too for PHP-658
Merged pull request #279
Move options from mongo_server to mongo_server_opts

This makes it easier to pass around all options, for example to fix
PHP-356 (driver does not honor connection timeout)
Fixed PHP-356 (Driver does not honour connection 'timeout')

The function already supported getting passed in a connection timeout
but the passed in value was hardcoded.
To be able to retrieve the user specified connection timeout we need to
pass in the mongo_server configuration options (mongo_server_opts).
Rename *_opts to *_options as that's how it's used everywhere elase.

Also changed some of the CS - it's in new code, so shouldn't conflict.
Merged pull request #286
Fixed PHP-683: Add support for the connectTimeoutMS connection parameter