Refactor: http-service: Pass test-pack git SHA as part of test-job config

... rather than as a separate argument to `TestJob` constructor.

This is a simplification in preparation for passing lirc config in as
test-job config too.
Tests: Update tests to use revisions with lirc config files

...when running tests.  The next commit will change the test runner to
validate that the selected test-revision has a lirc config file
associated.  This will cause the existing tests that call run_tests to
start failing.  This commit will prevent that.
http-service: Allow test-job to use IR hardware via lirc

`run_tests` now takes an optional argument `lirc_config_file` which
specifies which lirc config file to use for IR keycodes.  If none is
specified it will choose one from the ones available.

I've written some basic tests for this, but none that actually check that
the right keycodes are sent depending on the selected configuration.

I'm still not sure this should be in the final API.  The tests may not be
running against real hardware with IR, so it seems a little odd to
specify this on a test-by-test basis.