Issue #58 - provide a way to check if the database is open (internal use only)

https://github.com/couchbase/couchbase-lite-java-core/issues/58
Issue #58 - only run query if the database is still open.  This avoids cryptic "attempt to re-open an already-closed object" errors in the logs.

https://github.com/couchbase/couchbase-lite-java-core/issues/58#issuecomment-35568540
If the database is not open, do not attempt to run a replication.  (as is done in iOS code)
Issue #58 - was not calling asyncTaskStarted() and asyncTaskFinished() when making remote request to create a remote DB.  Needed for testPusher() to pass w/o having any exceptions.

https://github.com/couchbase/couchbase-lite-java-core/issues/58#issuecomment-35568540
Issue #58 - stop any remote requests currently in flight when calling stop() or goOffline(), matches iOS behavior.

https://github.com/couchbase/couchbase-lite-java-core/issues/58
Issue #58 - add a docchange.toString() method

https://github.com/couchbase/couchbase-lite-java-core/issues/58