First larger rewrite

Fixes #13

Added typealias Headers, Data and Response for respectively the HTTP headers, any data in both request and input (basically just a serialization AnyObject!) and for the response closure.

Swapped the response closure arguments so that the URLResponse is first, data is second while the error is last. This matches the Cocoa API.

Now using sendAsynchronousRequest instead of setting up the connection manually. This lets us have our own operation queues, though they're not much use yet.