Add filtered pull replication

1. Add class "Filter" add "filter" field in class "PullReplication".
2. Add filtered replication support to "BasicPullStrategy". Now
developer can create a filterd replication by adding a filter
to "PullReplication" when call "ReplicatorFactory.oneway(PullReplication)".
3. Add tests. It worths pointing out how the tests are
implemented: a) Create a db called "animalDB",
(see fixture/animaldb_animal*.json for documents), which also includes
predefined filters (see fixture/animaldb/animaldb_filter.json),
b) filtered pull replication c) check the replicated documents