abdmail_mailer: refactor, format whole string

Instead of using concetenation, compose the email message string as one
whole string and use format to insert strings, fix the indentation at
run-time using textwrap.dedent().

This seems clearer and certainly less fiddly than concatenation.

Test Plan:
$ ./precommit.sh
examine emails from
$ ./testbed/arcyd/acceptance_tests.sh
abdmail_mailer: better 'unknown email' message

Improve the email that users and admins receive when someone has pushed
a review with an email unknown to Phabricator.

Make suggestions for what to click or type to resolve the issue.

Test Plan:
$ ./precommit.sh
Watch email output from
$ ./testbed/arcyd/acceptance_tests.sh
arcyd/acceptance_tests: better non-creation test

Improve the test for not having created a review by recording the id of
the last review before doing any processing.

Previously this was working by accident, as other functions would also
store their last revision.

Test Plan:
$ ./testbed/arcyd/acceptance_tests.sh
abdt_branch: optimise, avoid redundant marking

Avoid redundantly pushing a tracking branch in the case where a branch
is already marked 'bad_pre_review' and it doesn't have any new commits.

This path shows up fairly hot in the dashboard stats, later we may want
to cover all pushes with a check like this.

Test Plan:
$ ./precommit.sh
$ ./testbed/arcyd/acceptance_tests.sh
paid attention to 'unknown_user' test case
Merge branch 'master' into feature/repoconfig