ACCUMULO-2380 Improve RunTests to produce useful mapper and job output

When passed the -m option, run.py for functional tests will emit one line on standard
output for each test that passes or fails. The output is suitable for processing when
tests are run within a mapreduce job.

The mapper for RunTests, which runs functional tests, is updated to pass -m to run.py.
It also inserts the map task attempt ID into the custom output, so that testers can trace
back any test to the task where it ran, to view its logs for example.

The mapper also now uses counters to track the number of successes, failures, errors, etc.
Note that since the job may attempt to re-run tests that error out, the total for these
counters can exceed the total number of unique tests run.