Basic Obj-C Courage Client

Hey @JoeSelvik: this does what a Courage client should. Can you review it?

Relavent classes:

- `TNTCourage`
- `TNTPayloadWriter`

What it does:

- Init with DSN
- Provide credentials and unique device id
- Subscribe to channels and execute a block
- Reconnect with exponential backoff on lost connection

Thanks!!
It's an official _delegate_, just not an official _protocol_. Additionally, those methods aren't required; they really are just optional delegate methods that _aren't_ documented by a protocol (for some stupid reason). It's all just done via ad-hoc documentation [here](https://github.com/robbiehanson/CocoaAsyncSocket/wiki/Reference_GCDAsyncSocket#Delegate_Methods).

I know, it's a little confusing. :dizzy_face: I'll add a note that there's no formal protocol.