This commit implements a new CI component which allows privileged users
to upload Mercurial bundles and have automation run against them. The
functionality is similar to what exists in contrib/automation/automation.py
for running tests on remote AWS infrastructure. The big difference is
most of the heavy work is handled by the CI system instead of by the
client invoking AWS APIs directly. This makes it easier to scale and
doesn't require the user to have substantial privileges for an AWS
account.
This commit also introduces a client-side ci.py command line tool
for interacting with the CI system. This tool provides a try
sub-command for generating a Mercurial bundle and directly invoking
a Lambda function with it.