abdt_reporeporter: better unknown user message

When an email address unknown to Phabricator is the primary author of a
review branch, display a more helpful message on the repo dashboard.

Test Plan:
$ ./precommit.sh
read through error message on
$ ./testbed/arcyd/status_html_testbed.sh
abdmail_mailer: fix typos in email message
Arcyon: add 'task-create' command for Maniphest

Add a bare-bones command for adding tasks to Maniphest.

Test Plan:
Add new command to smoketest
$ ./precommit.sh
aoncmd_arcyon: exit w/ return value of subcommand
aoncmd_taskcreate: enforce non-empty title

Although the conduit API currently permits creation of a task with an
empty title, this appears to be a mistake.  Enforce a non-empty title on
the command-line.

Use print function to be forwards-compatible with Python 3.

Test Plan:
$ ./precommit.sh
try to create tasks with empty titles:
$ arcyon task-create ''
$ arcyon task-create ' '
arcyon task-create: support 'description'

Add support for writing the 'description' field when creating a new task
with 'arcyon task-create'.

Test Plan:
$ ./precommit.sh
tried create tasks with descriptions
Arcyon create-task: support 'priority'

When creating a task with 'arcyon task-create', support specifying
priority by name, e.g. 'wish' or 'unbreak_now'.

Test Plan:
extend
$ ./precommit.sh
tried creating with different priorities
arcyon: print summary by default on create/update

Summary:
when using 'arcyon create-revision' or 'arcyon update-revision'
then print a human-readable summary of the operation and the link
to the review so that general users don't have to know how to convert a
revision id into a url.

Provide a new command-line option '--format-id' to get the old
behaviour.

Test Plan:
$ ./precommit.sh
updated and ran
$ ./testbed/arcyon/exercise_arcyon.sh

Reviewers: oparanal, raiyenga, phab

Reviewed By: phab

CC: arcyd

Maniphest Tasks: T33

Differential Revision: https://sibld.phab.dev.bloomberg.com/D171
phlgit_show: add 'file_on_ref'

So that we can retrieve files from arbitrary branches without having to
do 'checkout', expose the functionality of 'git show' for showing paths
at refs.

This will be needed by per-repo configs.

Test Plan:
$ ./precommit.sh
exercised by repoconfig feature
Arcyd: per-repo configs at 'refs/config/arcyd'

Support per-repo configuration that users can edit for themselves
without requiring direct access to the daemon.

Watch the 'refs/config/arcyd' ref for a file 'repo.json' which describes
the per-repository configuration.

Implement a hierarchy of configurations:

- (default)
- repo-specific at command-line
- repo-specific at refs/config/arcyd

Configuration currently supports:

- repository description
- branch format string for repo
- review format string for repo
- admin emails (for griping about unknown users)

This leaves space for a global config to be inserted after '(default)'.

Test Plan:
$ ./precommit.sh
inspect
$ ./testbed/arcyd/status_html_testbed.sh
add config to and run
$ ./testbed/arcyd/acceptance_tests.sh
Merge branch 'land/repoconfig' into feature/repoconfig

Conflicts:
	py/abd/abdt_repoconfig.py
	py/abd/abdt_repoconfig__t.py
	py/abd/abdt_reporeporter.py