Arcyd: add 'arcyd-status-html' command

Add a new command for rendering a dashboard page for the running Arcyd
instance.

Move the existing 'status-html' command to 'repo-status-html'.

Introduce a new 'arcydreporter' for capturing the relevant state of the
running instance.  In later work we can move everything from stdout and
stderr into this mechinism, it should probably capture standard logging
too.

Extend devstatushtml to cover the new command and exercise the
'arcyd-status-html' command in the system tests.

Test Plan: $ ./precommit.sh
Rename system_tests.h -> smoke_tests.sh

Before adding more comprehensive 'acceptance tests', rename the existing
system-level tests to 'smoke tests' as they are supposed to be quick
tests of the most critical functionality.

Test Plan: $ ./precommit.sh
testbed/arcyd/savemail: fix output

Don't overwrite all the saved mails with a blank line at the end
of savemail.

Use 'cat -' instead of 'read' so that we capture all of stdin.

Test Plan: ./testbed/arcyd/exercise_arcyd.sh
Add testbed/arcyd/acceptance_tests

A more comprehensive suite of tests with the focus on coverage rather
than minimising running time.

Test Plan: $ ./testbed/arcyd/acceptance_tests.sh
Arcyd: format cycle time better on Arcyd dashboard

Test Plan:
$ ./testbed/arcyd/status_html_testbed.sh
$ ./precommit.sh
Arcyd: add reset and pause buttons to dashboard

Make it possible to pause and reset Arcyd via the main dashboard,
requires some implementation on the part of the embedder.

Will aim to reduce this burden in future commits, when Arcyd gets a
standardized file layout and commands for managing data.

Test Plan:
visually inspect $ ./testbed/arcyd/status_html_testbed.sh
$ ./precommit.sh
$ ./testbed/arcyd/acceptance_tests.sh