Rename Obj-C classes from 3rd party libraries, like DDLog & HTTPServer

Since Obj-C has a global class name table at runtime, there will be
trouble if a process ever contains two classes with the same name (even
though we're careful not to export symbols we don't need to.) This has
led to trouble in apps that link both with CBL and with libraries we
use such as CocoaLumberjack and CocoaHTTPServer.
To fix this, I've added some #defines in the prefix header that rename
all the 3rd party classes  to have a "CBL_" prefix.
Fixed CBLManager_Close test case

It was using the shared instance of CBLManager, which made the results
unreliable, causing occasional exceptions.
It tested 'out' error parameters that actually have undefined values.
It deleted a CBLDatabase whose manager had already been closed.
Fixed bogus SSL untrusted-cert errors with self-signed certs

Some RemoteRequest objects weren't getting their delegate property set.
This caused them to not check the list of explicitly authorized root
certs during SSL handshakes, which means they'd reject self-signed
certs (or other certs without globally recognized roots.)
Autosave on correct thread when app backgrounds

Fixes #441
Fix compilation errors

Fix XCode5 compilation errors.
Fixed more unexported-symbol issues

Missed CBLHTTPErrorDomain (an NSString constant).
Also, I renamed the classes GCDAsyncSocket and WebSocket to have a "CBL_"
prefix but forgot to update them in the .exp file.
For some reason both of these mistakes only manifested as errors in the
Release build, not Debug -- I thought the symbol exporting would be the
same in both cases but apparently not.
Fixed a Release-only compile error in CBLQueryPlanner
Replication unit test tweaks

Added the self-signed X.509 cert (used by CBL_Puller_SSL test case) to
the project, and changed the way external test files are loaded to make
it work on iOS too.
Made continuous change tracker able to handle self-signed server certs

Made WebSocket class able to use custom SSL settings and added a delegate
method to report the SecTrustRef. CBLWebSocketChangeTracker then checks
the trust the same way as CBLSocketChangeTracker.
For #444
Initial implementation of CBLRemoteQuery

Allows a query to run on a remote database.
Note: Currently this only works with feature/query_api branch of Sync
Gateway, which adds the CouchDB-compatible public view query API.