Override environment variables by passing options to Houston::Client.new. The following options are supported:

- gateway_uri
- feedback_uri
- certificate
- passphrase
- timeout

Options can be passed to Houston::Client.development as well, e.g. Housten::Client.production(certifcate: File.read('apn.pem'))
Tests for Houston::Client.new, Houston::Client.development, Houston::Client.production.
Add fixture helper to tests. Make sure load path is correct, so we don't test against an installed gem version.
Made Houston::Client use a persistent connection by default.

Houston::Client#session opens and closes a connection automatically for when.
You can also use it like this:

client = Houston::Client.new
client.push(notifications)
client.devices
client.push(notifications)
client.close_connection
Update README for persistent by default connections.
Started with some tests for Houston::Notification.
Don't use deprecated APN protocol.
Send the device id as a 4 byte integer.
Don't close an already closed connection.
Use a more object oriented approach to create a APN Frame.
Not using Forwardable anymore.
Remove test script.
Rescue and retry when following errors occur in Houston::Client#push

 - OpenSSL::SSL::SSLError: SSL_write: bad write retry
 - Errno::EPIPE: Broken pipe
Rescue and retry when following errors occur in Houston::Client#push

 - OpenSSL::SSL::SSLError: SSL_write: bad write retry
 - Errno::EPIPE: Broken pipe
Add self-signed test certificate.
Merge branch 'persistent_by_default'
Handle alert size properly.

- Alert that is too large raises PayloadSizeException.
- Adds truncate method to Notification.
- Adds tests for new functionality.