Added a constant for the "websocket" replicator option key
Limit puller memory use, by throttling ChangeTracker

With a fast network the ChangeTracker can read changes much faster than
the puller can add them to the database. This caused a lot of JSON
change descriptions and CBL_Revisions to pile up in memory.
I fixed this by allowing the puller to pause the ChangeTracker when it
has too many revisions pending. The ChangeTracker implementations
stop reading from their sockets while paused.
Fixes #502