Allow setting certain HTTP headers for replication

Allows one to set optional HTTP headers for replication during the configuration
of an individual CDTPull/PushReplication object. This does not set these
headers globally.  The optional header property is found in the
CDTAbstractReplication class (which now conforms to NSCopying protocol).

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
used to gain access to all NSURLRequests made during replication.
This class passes the NSURLRequest to a delegate that tests the headers.
Merge pull request #80 from cloudant/36445-Expose-TDReplicator-requestHeaders

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