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.