Fixed NASTY bug with internal properties appearing in public revisions

When implementing CBLRevision, I forgot CBL_Revision is semi-mutable
(its body property can be changed) and stored a CBL_Revision in an ivar
without copying it first. This had very bad side effects when the CBL_Pusher
got ahold of the same CBL_Revision and later added internal properties
to it…
The visible bug this caused was spurious 400 errors saving documents.
Fixes #101
need an NSURL, not a string
Fix build by exporting CBLFacebookAuthorizer

It's in CBL.framework but used by CBLListener.framework.
Made CBL_Revision immutable[ish], added CBL_MutableRevision subclass
Switch database file extension from “.touchdb” to “.cblite”

Existing database files will be renamed.
Fixes #105
Fixed crashes using .skip in view queries

Also added unit tests. Fixes #109
fixups for facebook login
type check facebook arguments
more type checking for NSURL on facebook handler
Added -[CBLQuery waitForRows]
Added -[CBLDocument update:error:]. (API CHANGE)

Easy way to update a document and handle conflicts.
Fixed bug in FMDB that could cause weird errors in optimized builds
Bumped version to 1.479 (beta candidate)
Make change-tracker not stop on errors, in continuous replication

For #108
Make continuous replicators retry after errors

Fixes #108
Pusher now sends only the necessary rev IDs in _revisions property

It now looks at the ‘possible_ancestors’ result from the server and omits any revisions from the history that are ancestors of any of those.
This should mean in general that only one a small number of rev IDs are sent; just the number of changes made locally before syncing.
Fixes #119
Make sure CBLJSON gets documented

Also add it (and CBLUITableSource) to CouchbaseLite.h.
Don’t send atts_since param on pull, if doc doesn’t have attachments

The list of revs in that param can get pretty lengthy, so it’s a good optimization
to skip it if it’s not needed.
Made +[CBLJSON dateWithJSONObject:] about 30x faster

...by using C code excerpted from sqlite3 to parse ISO-8602 date strings,
instead of NSDateFormatter.

Also added a new +absoluteTimeWithJSONObject: that returns the time-
stamp as a double (time since reference date), which is even faster
since it doesn't have to allocate an NSDate object.

Thanks to @nirvana for suggesting this to me, and for @AnuragMishra
for initially discovering how much faster sqlite is!

Fixes #122
CBLT-44:  add community license 2012

Change-Id: Id31f983d0618edb0dc9f4b47b36047106d0411b1