CBJSONEncoder: Use 6 decimal places, not 16, for 32-bit floats
API: Added CBLLiveQuery.updateInterval

For couchbaselabs/couchbase-lite-api#111
Improvements to runloop task scheduling & live queries

* CBLLiveQuery no longer makes redundant queries when the database
  hasn't changed since the last query.
* -[CBLQuery waitForRows] no longer waits in the default runloop mode,
  as this can cause nasty re-entrant calls when user events arrive.
  Instead, we use a custom runloop mode.
* Added a utility method -[CBLDatabase waitFor:] to encapsulate this
  improved waiting behavior.
* Don't use dispatch-queue mode on the main thread. In dispatch-queue
  mode, operations like waitForRows are impossible because you can't
  do the equivalent of spinning a nested runloop.
Fixes #477
Fixed insertion-speed regression with SQLite 3.8 (i.e. Yosemite)

The new query planner in SQLite 3.8 was using the very inefficient index
revs_cur_deleted for the query that finds a doc's winning revision,
which made the query very slow. Fixed it by replacing that index with
a souped-up version of the existing revs_current.
Fixes #487
Fixed a typo in a doc-comment in CBLReplication.
CBLJSViewCompiler target no longer links static JavaScriptCore framework

It complicates the build, and is no longer needed on iOS 7+.
Fixes #451
Don't convert CoreData relation names to lowercase

(Fix by ManuTroquet, pull-request #461)
Tweaked LiveQuery unit test to avoid occasional timing-based failures
Remove unused-but-confusing duplicate GCDAsyncSocket.m from project

Both CocoaHTTPServer and WebSocket use GCDAsyncSocket, so there are two
copies of the source code in the tree, but we only build one of them
(obviously) so that should be the only one in the project.
Change SSL settings to TLSv1, to avoid SSLv3 POODLE vulnerability

Fixes #492
Add link to CRM demo app
Unit tests: More assertions around closing temp dbs
Router: Fixed a hang handling DELETE /db

It also incorrectly returned 200, not 404, if db didn't exist.
Fixes #493
Add a test to verify if the puller works correctly with DB Validation

Added CBL_Puller_DatabaseValidation to verify if the puller works
correctly when there is a database validation set.

The result showed that the puller works fine. When there were more
than one docs pulled together and one failed the validation,
the rest of the docs were inserted to the database correctly.

#496
Rework error status when no matched selectors in CBLRouter

In case of no mached selectors, the CBLRouter will return 405 (method not allowed) if there is an alternative method available otherwise returning 404 (not found). This implementation is in sync with the current SG's implementation. #499
Merge pull request #501 from couchbase/feature/issue_499

Rework error status when no matched selectors in CBLRouter
When indexing a view group, skip views with no map block registered yet

Fixes #438
CBL_Shared fixes

* -isDatabaseOpened: and -countForOpenedDatabase: weren't thread-safe.
* During many unit tests the FMDatabase didn't have a lock at all, so
  lock-related stuff wasn't being exercised enough.
Potentially for #500
Restore the "no map block registered" assertion when it makes sense

Minor amendment to bd377ff -- if the view that triggered the index
update has no map block set, we should fail instead of just skipping
it, because that genuinely is an error (otherwise we'd go on to query
it and just return missing or obsolete data.)
For #438
FMDB: Fixed locking calls to avoid a deadlock

Fixes #500 (I think)