Allow cover_modules and cover_apps to be per test module

Instead of one giant list in the config file, use module attributes to
indicate which apps/modules a particular test is intended to test.

This helps reduce noise when doing a complete cover run because lots of
the tests don't test things like riak_control or riak_repl.
Update README about cover changes
If the test does not define coverage modules/apps use what is in the config

To help in the migration to annotated riak_tests, allow the global cover
lists in the riak_test config to be used as a fallback for tests with
no annotations.
Safer mod_src, damm NIFs
Fix coverage reporting
Merge pull request #579 from basho/adt-per-test-coverage

Allow cover_modules and cover_apps to be per test module