Riak 2 Feature: Security

The Ruby client needs to support security per basho/riak#355 .

- [ ] configure local and tls credentials

```ruby
c = Riak::Client.new(
                     pb_port: 17017,
                     authentication: {
                       user: 'user',
                       password: 'password',
                       server_ca: File.read('ca.crt'),
                       server_cert: File.read('server.crt')
                     }
                    )
```

- [ ] refactor The Bad Class
- [ ] upgrade a protobuffs connection to tls
- [ ] kill the connection if the server doesn't have a valid cert
- [ ] kill the connection if the server doesn't support tls
- [ ] kill the conncetion if the server's cert is revoked
- [ ] work correctly when requests succeed

(copied from #110 )