Better handling of HTTP Timeouts

  - accept hash of options upon Sailthru client construction
  - set http_ssl_timeout, http_open_timeout, and http_empty_on_close using
    either values from the options hash or the default values in case these
    are not set
  - added a new exception type for Sailthru unavailability
    (SailthruUnavailableException)
  - catch Timeout::Error and Errno::ETIMEDOUT, re-raising them as a
    SailthruUnavailableException