Reduced max memory usage of push replicator

- Added some fixes to avoid keeping redundant data in memory
- Constrained max size of a _bulk_docs request to keep the object tree from getting too large
Fixes #270
Removed “Slow comparison” log message from JSON collator

This wasn’t supposed to be checked in…
Add a unit test while comparing conflict resolution behavior against couchbase-lite-android

https://github.com/couchbase/couchbase-lite-java-core/issues/106
Merge pull request #302 from couchbase/delete_conflict_test

Unit test regarding conflict resolution behavior
Removed support for “_conflicts” property in doc passed to map blocks.

It didn’t work quite right (could miss some conflicts) and taking it out speeds up
view indexing a little bit.
Developers who want to find conflicts should use an allDocs query with the
only-conflicts option instead.
Fixes #159
Fix replicator checkpoint issue by making sure checkpoint doc ID stays constant

Memoize the value returned by .remoteCheckpointDocID so it stays the same even
if a setting changes — namely, the -stop method sets _continuous=NO for some reason.
Fixes #301
Safer handling of unexpected revisions returned from _bulk_get

Don’t process such a revision; it’ll cause an exception later.
For #300
Added a unit test verifying revpos changes when attachment is updated.
Updating LICENSE.txt to 2011-12-07 CE License

This is per requirement
CBLT-229: added: LICENSE_enterprise.txt, renamed: LICENSE.txt -> LICENSE_community.txt

Parent must copy appropriate file to LICENSE.txt before calling.

Change-Id: I5028e53392a927d2848c7e04995164eeb3bc5e3c
API Change: Added CBLAuthenticator

Pre-existing CBLReplication auth methods are still present,
but the ones supported by CBLAuthenticator are deprecated.
REST API replication auth works as before.
Added some missing copyright/license comments.
Catch uncaught exceptions in CBLDatabase doAsync etc.

Otherwise GCD tends to kill the process, which means unit testing can’t complete.
Fixes #309
Bumped version number to 1.5 for GA
Comply with EE change for 2014-04-14

This is for packaging only.
CBLT-268:  product version now set to a token, instantiated at build time:

    CURRENT_PROJECT_VERSION = @PRODUCT_VERSION@;
    CURRENT_PROJECT_COMMIT  = @COMMIT_SHA@;

Change-Id: I43bbfeb3452fa25301d1416db87745469e678f8f
Revert "CBLT-268:  product version now set to a token, instantiated at build time:"

This reverts commit ee5212dd5c79c0e40587a55659478d5eb621d01d.
API Change: Added set/delete cookie methods to CBLReplication

This is used for setting custom session/auth cookies. Most useful if
the cookie was returned from a different subdomain and should also be
used with the replication server.
Oops, fixed a compile error from the previous commit
Overhauled project/build versioning.

* Existing CURRENT_PROJECT_VERSION setting is used as the "serial
  number" of the build. This will be set only by the automated build
  environment (not checked into the project.)
* A custom build setting CBL_VERSION_STRING defines the "marketing
  version number", e.g. "1.0" or "1.1 beta 3". This is checked into
  the project but will be overridden by the automated builds.
* An optional custom build setting CBL_SOURCE_REVISION contains the Git
  revision ID of the source code. This is only set by automated builds.
* The result of CBLVersionString() is generated from the project version
  and version string.
* The HTTP User-Agent header sent by the replicator is generated from
  the version string and OS/platform name (Mac OS X or iOS.)
* All three versions are logged at startup time using Log().