! can: introduce dedicated exceptions for connection failure and request timeout for host-level API

I would like my application to be able to react to request timeouts and connection failures returned from spray client. Examples:

 * Reporting the error to a monitoring system
 * Returning a detailed error message from a REST API when peer services timeout.

Currently all exceptions from http client come back as plain `RuntimeException`s. This pull request makes them more specific `RequestTimedoutException` and `ConnectionAttemptFailedException`.

Post on mailing list: https://groups.google.com/forum/#!topic/spray-user/RLSMUb1MBcw