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.


It would probably help to print out the key itself too. The method and class name also doesn't really help an external developer, so can be removed. Something like `"Replication HTTP header %@ invalid; must be NSString", key`. Similarly for the value, below.