Revert "WIP: Arcyd: BREAK, remove arcyd and repo reporters"

This reverts commit d1c53b056163516644d62f008c184cae6291e10f.
fixup! testbed/arcyd/profile_...: doc simple profiling
Arcyd: use 'set -u' to catch undefined vars

Make some of the bash scripts a bit safer by enabling the flag to treat
undefined variables as errors.

Add comments to such flags to explain why they are there.

Test Plan:
Exercise the affected scripts
$ ./testbed/arcyd/loop_test.sh
$ ./testbed/arcyd/exercise_arcyd.sh
$ ./testbed/arcyd/test_shell.sh
Arcyd: refactor, extract 'savesystemerror.sh'

Make it easier to read and re-use the savesystemerror code in
test_shell.sh by extracting it to it's own script.

Test Plan:
$ ./precommit.sh
$ ./testbed/arcyd/test_shell.sh
Arcyd: test_shell.sh, separate output more clearly
fixup! Arcyd: refactor, extract 'savesystemerror.sh'
Arcyd: refactor, remove unused 'logger' from _loop

Test Plan:
$ ./testbed/arcyd/loop_test.sh
Arcyd: use external error logger in _loop.sh

Make it possible to see external errors that are logged from the
'unreliable git host test' test by hooking up an exernal error logger in
_loop.

Add dividers to the log output.

Test Plan:
Observe logged errors from
$ ./testbed/arcyd/unreliable_git_loop_test.sh
Arcyd: move external logger to abdt_logging

Don't route all calls to the external logger through abdt_arcydreporter
as we'll be removing it. Re-route them through abdt_logging instead for
now.

Test Plan:
$ ./precommit.sh

Make sure that error messages still get through
$ ./testbed/arcyd/unreliable_git_loop_test.sh
Arcyd: test_shell.sh, display git-phab-writes.log

For more info and to make it easy to exercise the --io-log-file option,
display the 'git-phab-writes.log' at the end of test_shell.sh

Test Plan:
View the log
$ ./testbed/arcyd/test_shell.sh
    $ ./poke.sh
    $ exit
Arcyd: remove dep of on_io_event on arcydreporter

Make it possible to remove the arcydreporter by removing the last
critical dependency on it. abdt_logging.on_io_event() will now work
without it.

Test Plan:
$ ./precommit.sh

Check the log is still updated
$ ./testbed/arcyd/test_shell.sh
    $ ./poke.sh
    $ exit
    .. view last lines of output ..