3414: adding PullHandler and Replicator

Added PullHandler and a "replicator" package to handle "PUT /pull" requests.

PUT /pull requests are routed to PullHandler, which authenticates the
request and validates the JSON in the request body. Valid requests are
sent to the replicator.

The Keepstore replicator runs a goroutine which repeatedly listens on
its input channel for a new pull list.

TestPullHandler tests each combination of: request from superuser;
request from ordinary user; properly formatted pull request; improperly
formatted pull request.  It checks the state of the replicator when done
to make sure that it has the expected number of pull requests.

3414: add replicator.
3414: update for code review

Added logging for pull lists.  Unsuccessful pull lists are logged with
an error, successful ones are logged with the new pull list.

Renamed the Replicator interface with GetList and SetList.
3414: rename replicator to pull_list

Renamed replicator.Replicator to pull_list.Manager.
3414: update comment for code review
3414: fix log typo

%s -> %v
Merge branch '3414-keep-pull-handler'

Closes #3414.