Allow read connection defaults from custom default file and group.

For example:

```ruby
@client = Mysql2::Client.new(:default_file => "/user/.my.cnf", :default_group => "client")
```

## CHANGES
* I removed defaults for hostname and port. According to [docs](http://dev.mysql.com/doc/refman/5.0/en/connecting.html), they are defaults in MySQL also.

## TODO
* better test suite

Originally requested in #262.