TCP Protocol v2

#### Updates for v2 of the Courage TCP protocol:

- Strings are Blobs under the hood
- Enable explicit control over connection state of TCP socket
- Enable replay-only functionality for APNS

#### Bug Fixes

- Remember subscribe options on reconnection
- Clean up code
  - Create socket (but don't connect) on itialization
  - DRY out repetitive end-of-event and end-of-channel processing code

@JoeSelvik, this is compatible with thenewtricks/courage-service#34. You can use them to test each other. thenewtricks/balto-ios@405437b is also compatible with both.