Item11267: Attribute author / committer for task updates

Try to match the commit email address or name field with a wikiname and
use that name to update the Task topic.  If nothing is found, then use
ProjectContributor, and not WikiGuest.   (That gives the impression that
we have guests updating tasks.)

Add a unit test with a full commit message extracted from the github web
interface, and test the entire update process.  Needed to refactor the
plugin a bit to permit a call deeper into the rest handler.

Also added code to make sure we don't duplicate commit references. The
topic is updated only if a commit was actually added to one of the
fields.