Fixed a bug where a CBLPuller reports it's stopped _twice_

Was balancing the asyncTask count improperly; sometimes the task could
finish before it got marked as started.
CBLSocketTracker shouldn't warn when it reads 0 bytes
Split up CBLView+Internal.m
Replicator: Run on background thread.

Mostly I just enabled the RUN_IN_BACKGROUND flag of CBLReplication, and
added unit tests to verify that things work properly and the main runloop
isn't getting janked.

I also tweaked CBLManager so that copied sub-managers will inherit its
background server instead of spawning their own.
Fixes #18.