Adds ability to set optional HTTP headers in requests made during replication

Allows one to set optional HTTP headers for replication during the configuration
of the CDTPull/PushReplication objects.

Fixes a bug in TD_DatabaseManager.m that prevented headers to be set via
the 'properties' NSDictionary object used to create TDReplicator objects.

Adds tests for HTTP headers during replication

ReplicatorURLProtocol inherits from NSURLProtocol and is
a registered URL request in order to gain access to all
NSURLRequests made during replication.
This class does not manipulate or handle the HTTP requests, but
it does pass the NSURLRequest to a delegate to object that
tests the headers.


Avoid objectForKey: in favour of sub-scripting, and particularly don't mix and match which you use. `pullDoc[@"headers"][@"User-Agent"]`