NSURLSession based network layer

This branch replaces the use of AFNetworking with an NSURLSession based custom HTTP client.