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 luxurious prose in documentation, value brevity. "One can", "if desired" and so on could probably be dropped. Most of Apple's documentation is very concise and to the point.

Though each sentence is useful, most could be trimmed by a quarter or more of their words:

- "This header may be modified if desired." -> "This header may be modified.". 
- "According to NSURLConnection, one should not modify the headers ... since they are managed automatically." -> "NSURLConnection will overwrite the following headers:" and "Cloudant Sync will overwrite the following headers:".

Also avoid splitting sentences with code blocks if possible.