Moves the TD_FilterBlock from TD_Database to TDPusher.

Previously, a TD_Database managed all filters associated with that
database in a local NSMutableDictionary. This has been removed and
now the TDPusher class holds a copy of the block which defines the
filter.

These changes are reflected in the CDT* level classes.

*filterId is removed from CDTPushReplication
*CDTReplicator is now initialized with an instance of an
CDTAbstractReplication class instead of its NSDictionary representation.
(This doesn't affect the API since this is a 'private' instantiation method.)
*CDTReplicator maintains a copy of a CDTFilterBlock
*CDTReplicatorFactory -oneWay was modified accordingly.

Note: Should I remove CDTReplicatorFactoryErrors as these are not used
anymore?

Hi Mike. Clearly this makes sense. I'm not sure if I need to `copy` the filter block from the CDTPushReplication object. Thanks for your comment. 

```
CDTPushReplication *pushRep = (CDTPushReplication *)self.cdtReplication;
        CDTFilterBlock filter = [pushRep.filter copy];  //DO I NEED copy OR IS IT AUTOMATICALLY COPIED?
        TDPusher *tdpusher = (TDPusher *)self.tdReplicator;
        if (pushRep.filter) {
            
            tdpusher.filter = ^(TD_Revision *rev, NSDictionary* params){
                return filter([[CDTDocumentRevision alloc] initWithTDRevision:rev], params);
            };
            
        }
```