Merge pull request #3 from alexcrichton/update

Update to rust master
Add an ErrorHandler type
Switch to a fixed size pool

There isn't really any point in running below the optimal connection
count at any time.
Rename initial_size to pool_size
Don't hold pool lock while performing validity check

Closes #2
Don't require a call to replace()

Currently just turn the put_back() into a virtual call until the corresponding
bug in Rust is fixed.
Merge pull request #4 from alexcrichton/virtual-destructor

Don't require a call to replace()
Remove drop virtual hackery

Yay for struct parameter constraints!
Remove unneeded 'static constraints
Avoid relocking pool if the connection is valid
Some work towards moving to the new error model
Remove type parameter from NoopErrorHandler
Remove parameter from LoggingErrorHandler
Derive Encodable, Decodable for Config

Should make it easier to automatically serialize it to a config file.
Tiny cleanup
Remove useless test
Add a test for #2
Remove unnecessary deriving
Rewrite conn destructor to avoid failure

No reason to bloat code using this
Revert "Rewrite conn destructor to avoid failure"

We're already unwrapping in `deref`, so this isn't really a help.

This reverts commit 51b24e60b8057d03570073b6e586e68660c581e4.