Complete issue #118

- Refactor Replication.GoOffline() and GoOnline() to operate async within Manager.WorkExecutor.
- Fix Replication.TestGoOffline().
- Pusher.BeginReplication no longer called AsyncTaskStarted() according to the upstream iOS code.
- Puller.GoOffline() is set to an internal method.
- Improve some logging messages.