GitBuildSource: use pygit2 clone

Now that pygit2 has clone support remove the external calls to Git.
The ``handles_uri`` method still invokes Git via ``subprocess`` as
the ls-remote feature has not made its way into pygit2 yet.

Also add some logging to the clone process.
worker: improve error handling

Ensure that errors in worker subprocesses are logged with traceback
and that "ordercomplete" is sent even for jobs that have errored

It might be worth retrying failed jobs rather than removing them,
with a max-retries limit, but removing them is an improvement on the
current situation where they remaining in the "in progress" pool
forever.

Also remove some obsolete commented-out code.
add a result param to OrderComplete command