Enable code coverage collection using callgrind

This uses callgrind (part of valgrind) and dwarfdump to collect
code coverage information.  This feeds into the arcanist unit test
results, but is also stashed in a data file and can be summarized
in a brutally utilitarian way using `arc cov`.  This shows the lines
of files that are not covered.
add more coverage for the `name` expression
add `arc cov --summary`

Prints a nicer tabulation of coverage results.
add tests for more query terms