Removed incorrect use of GOPATH
Return net.Conn instead of *tls.Conn

Because abstraction
Much better API - channels were complicating errors

The API is now synchronous
notification.Failure => notification.Invalid

This is a more accurate description, as 'failure' implies that
notifications failed delivery and could possibly be re-tried, but
'invalid' means that the notification itself was incorrect, which is
what the apns response actually means.
Improved README documentation
Removed unnecessary .gitignore entries

Binaries now end up in $GOPATH, not in cwd
go fmt
Reconnect on failure in SendAll
Add TODO for testing
Interface all the things
More flexible stub connection