Asynchronous API

`NMSFTP` will have async API with #74 so I think it's time to use asyc API for `NMSSHSession` and `NMSSHChannel` too. What's your opinion @Lejdborg?

I'm not sure when we should use `completitionBlock:` or `success:failure:`, for example `success:failure:` does not make sense for `disconnect`.

These changes should fix #79 and #17.

**TODO:**
- [ ] Errors management
- [ ] Fix the documentation
- [ ] Socket write callback
- [ ] Test (#70, #71)