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!!
Maybe say why we can't keep information about where we are in the stream? Is this because we get data from our reads in this callback?