Raise ActiveRecord::CannotConnect on adapter connection errors

It'd be nice with an adapter-agnostic exception class for connection-class errors. This is useful for falling back to e.g. another connection (readonly in my case) or a fallback value in case AR cannot connect to the database.

If there's interest in this, I can look at adding this for some of the other adapters (e.g. `sqlite3` and `postgres`) and look at more errors (e.g. inability to route, timeouts, unknown host, unknown error, etc.). 

@arthurnn @tenderlove 
@matthewd Yeah, I think that's a good call. That exception's name is a source of confusion, especially on top of this work.