PHP-1154: Make connect/read timeouts for blocking and defaults consistent

Epic: https://jira.mongodb.org/browse/PHP-1154

Related issues:

 * https://jira.mongodb.org/browse/PHP-1155
 * https://jira.mongodb.org/browse/PHP-1156

----

 * [x] Passing zero to either connectTimeoutMS or socketTimeoutMS should always attempt to use the default PHP value (e.g. default_socket_timeout or equivalent).
 * [x] Passing a negative value to either connectTimeoutMS or socketTimeoutMS should always attempt to block indefinitely.
 * [x] Positive values for connectTimeoutMS and socketTimeoutMS should continue to work as-is.
 * [x] If mongo_io_wait_with_timeout() receives a negative timeout, it should block indefinitely. If it receives a timeout of zero, it should default to MONGO_CONNECTION_DEFAULT_CONNECT_TIMEOUT (same as default_socket_timeout's default).
 * [x] If php_mongo_io_stream_read receives a temporary timeout but socketTimeoutMS was originally zero, revert to default_socket_timeout instead of socketTimeoutMS.