(#2477) - use a Map and Set instead of an object when we have user supplied values
(#2466 #2475) - replicate using changes with include_docs

Also, to fix #2475 we batch the replication's
open revs GET request so that the URL is not
accidentally too long.