Fix a bug where a resourceFilter was being passed as a proguard config.

Summary:
This was introduced in https://phabricator.fb.com/D814987.
Presumably a copy/paste error.

Test Plan:
Built an app in fbandroid that was previously failing.
Sandcastle builds.
Enhancements to java_test().

Summary:
Update java_test() so it takes source and target options.
Fix java_test() so that vm_args is an array by default.

Test Plan: Sandcastle builds.
Use Java 7 when building the Buck project.

Test Plan: Sandcastle builds.
Introduced a new utility method: MoreFutures.isSuccess().

Test Plan: Sandcastle builds.
Remove the uncachedBuildRules field from AndroidTransitiveDependencies.

Summary:
The way we were creating this field does not make sense with respect to
our upcoming changes about what it means for a rule to be "cached."
It also required Optional.<BuildContext>absent() to be passed in many
cases, which does not make for a reliable API, as that means that the
uncachedBuildRules field in AndroidTransitiveDependencies was unreliable.

Test Plan: Sandcastle builds.
Return a ListeningExecutorService instead of an Executor in BuildContext.

Test Plan: Sandcastle builds.
Change EMMA's code coverage report so the first column is alphabetized.

Summary:
Although this change is very small, navigating Emma's source code to figure
out what to change was quite a challenge.

Test Plan: Ran `buck test --all` and verified that the leftmost column is alphabetized.
Make sure that all code under src/ is included in the code coverage report.

Summary:
While inspecting our code coverage report, I realized that we were not
reporting on all of our packages. Added source_under_test to java_test
rules where appropriate.

Some packages (com.facebook.buck.json and com.facebook.buck.python) did
not have any coverage, so I created some simple unit tests to make sure
they were included in the coverage report so we would be alerted to the
lack of coverage.

Test Plan:
Ran `buck clean && buck test --all --code-coverage`.
Inspected the generated emma/coverage/index.html file and verified that
all packages under `src/com/facebook/buck` were listed.
Pass the project root as a parameter to Main.runMainWithExitCode().

Summary:
This fixes things so that the root of the project is taken as a parameter
when running Buck programmatically. This will make it possible to run
Buck in different project directories for integration tests.

Recently, all of the classes that extend AbstractCommandRunner were updated
to take an ArtifactCache as a parameter. This diff replaces that with a
more extensible CommandRunnerParams type because updating all of the call
sites can be tedious, so now we can introduce new parameters to
AbstractCommandRunner in one place. Currently, CommandRunnerParams has two
fields: ArtifactCache and ProjectFilesystem.

Test Plan:
Sandcastle builds.
Verify that `git grep 'new File(".")`` returns only one result under src/.
Add a new heuristic to `buck project`.

Summary:
We recently changed `buck project` so that it only considers the first-order
deps of a build rule when determining its dependent IntelliJ modules.
This is problematic for Java packages that contain a combination of
library and test code where the set of deps of the library code is not a
subset of the deps for the test code. This diff adds a heuristic for that
case and includes the union of the deps of the library and test code in that case.

Test Plan:
Ran `buck project` and then built Messenger in IntelliJ.
Sandcastle builds.

I described a test case in the comments in the code,
but I did not create a unit test for it yet.
I am planning to finish the new integration test harness first,
and will then create a test using that. Currently, we do not
run any test code that exercises intellij.py, which is bad.
[buck] Add --run support for activity-alias

Summary:
Add support for parsing the ##activity-alias## tag in the
manifest reader for purposes of finding launchable activities.

Also, replace Facebook-specific name in test with ##com.example##.

Test Plan:
* unit test
Check that we have Java 7 installed before building

Summary: As above

Test Plan: Modified the class being checked to one that doesn't exist and saw error. Reverted and checked with Java 7.