Fix stale dates in committer field

The server's PersonIdent cannot be held by a singleton such as
SubmitStrategyFactory.  Holding it would retain the timestamp of the
first merge in this process, with the time forever stuck in the past.

Instead use Provider<PersonIdent> so Guice can defer creation of
the server's identity until it is required to write a new commit.
This allows the current date to be injected into a newly created
PersonIdent, keeping the committer field current.

Bug: issue 2773
Change-Id: I9e5edd41e42a702ed8541cfef57660204a8c5b57