Rename "BrowserID" --> "Persona"

Note that this invalidates all saved persistent replications that used Persona/BrowserID auth,
because the property in the replication doc was renamed too.
It also changes the server endpoint that the replicator hits to log in from /db/browserid to /db/persona.

(This is equivalent to commit 111859c from CouchbaseLite, although it's not a direct cherry-pick. I had to make the same changes manually because too many things have been renamed for a merge to work.)
Better logging if change tracker fails HTTP auth

If TDSocketChangeTracker gets a 401 or 407 and can't find a credential, or the credential is rejected,
it now logs a message of the form
    TDSocketChangeTracker[...]: HTTP auth failed; sent Authorization: %@  ;  got WWW-Authenticate: %@
showing the Authorization header it sent (if any, else null) and the WWW-Authenticate response header.
These headers are also returned in the NSError as keys "HTTPAuthorization" and "HTTPAuthenticateHeader"
(although this is of limited use since this info won't make it all the way up to the public replication API, yet.)
This should help in diagnosing issue #242.
Make returned error strings more compatible with CouchDB's

These strings are in JSON "error" properties in error responses and in individual items
of a _bulk_docs response.
Make TDPusher more careful abut bumping the checkpoint

It now works similarly to the puller, using an NSIndexSet to keep track of which sequences haven't
yet been uploaded, and only advancing the checkpoint to just before the first sequence in the set.
This will fix possible edge cases/race conditions where the checkpoint may have been advanced too
optimistically, causing a doc that failed to be pushed once to never be retried. (Fixes #246)
Basic-auth improvements

* If a TDRemoteRequest gets an auth challenge and finds a new credential based on the Realm string,
  it now remembers that in its authorizer, and the replicator will pick it up and use that as its
  authorizer from then on. This should help pick up credentials registered with non-empty realms.
* TDRemoteRequest now tries the 'proposed' credential, if there is one, on its first pass through
  the auth challenge handler.
* Added more logging about the auth flow, for future debugging needs.

I am not sure if these will fix issue #242 but they should help.
Some correctness tweaks to TDSocketChangeTracker

A futile attempt to address truncated feeds (#241); but I think these are
good changes to make anyway even if they didn't help that.
Fix "removePending: sequence %lld not in set" warnings

Manually copied over from CouchbaseLite commit 8ee5c3d
Workaround for truncated _changes feed responses

If TDSocketChangeTracker gets an unparseable response whose beginning
looks like the expected JSON, assume the socket got cut off by some
intermediary and go through the usual retry mechanism.
Fixes #241.
Fix memory leaks (reference cycles) in replicator

Fixes couchbase/couchbase-lite-ios#37
Bumped version to 1.012 (or, 1.02 candidate 2)