Move AbstractConsoleEventBusListener and SimpleConsoleEventBusListener into listener package.
Make DependencyGraph a field of ParseEvent.Finished.
Reimplement MoreFiles.rmdir and RmStep.

Summary:
Redirected MoreFiles.rmdir to MoreFiles.deleteRecursively and consumed NoSuchFileException.
Now RmStep and MoreFiles.rmdir do not rely on shelling out and running "rm -rf" any longer.

Test Plan: buck test --all
Buck gitignore++.

Summary:
I can't remember where `.idea/runConfigurations` came from, but it doesn't look like it needs to be checked in.

Test Plan: `buck test --all` worked!
Modify BuckEventBus to use a single-threaded ExecutorService for its AsyncEventBus.

Summary:
In practice, we always want BuckEventBus to use an AsyncEventBus as opposed to an
arbitrary EventBus. This codifies that in BuckEventBus.

Test Plan: Sandcastle builds.
Fixed timeout when waiting for ADB connection.

Summary:
Current implementation was assuming that we would receive notification
about connected bridge after the bridge has a list of connected devices ready.
But instead a following flow events happened:
1) ADB was connecting almost instantly.
2) The list of connected devices was taking a bit longer.
   Just enough to go into the wait loop and get blocked
   waiting for an event about ADB connection (which already happened).
3) So we would end up waiting for ADB_CONNECT_TIMEOUT_MS. But it
   only took a fraction of second to get the list of connected devices.

This diff fixes the wait loop to wake-up every ADB_CONNECT_TIME_STEP_MS (<< ADB_CONNECT_TIMEOUT_MS)
to busy-check if list of devices is already acquired. This should improve
the "connection" time from rougly ADB_CONNECT_TIMEOUT_MS to roughly ADB_CONNECT_TIME_STEP_MS.
Remove deprecated method from Parser.

Summary: Not only remove the deprecated method, but also clean up existing call sites.

Test Plan:
buck test --all
Manually inspect the output of:
   buck targets --json --type java_test
Changed log4j logger to be silent.

Summary:
log4j was logging its errors to stdout, which then messed up our scripts that resolve target outputs with cut.
Check for a supported NDK version before building

Summary:
Many people get bit by not upgrading their NDK. By providing an
explicit check, we can make it easier for them to get back to work when it is
updated.
Create the SuperConsole and wire it all up!

Summary:
BuildTarget was changed here as a necessary optimization.
Generating strings and GCing them was dominating the time of checking the local cache.