Update buckd consoles.

Summary:
Parsers and FileHashCaches are reused by multiple commands,
so need to have their consoles updated on each command so that they
can log to the current console.

Test Plan:
0) buck test --all
1) buckd
2) buck build -v 8 buck &> /dev/null
3) touch tmp
4) buck build -v 8 buck 2>&1 | head
5) check that 4 prints "Parser watched event ENTRY_MODIFY ... tmp"
Don't print empty lines to SimpleConsole.

Summary:
If an empty builder is passed to
SimpleConsoleEventBusListener.printLines return rather than printing
an empty line to the console.

Test Plan:
0) buck test --all
1) buckd
2) buck build buck
3) check that no empty lines are printed by 2
Ensure that the default timeout in .buckconfig works with @RunWith.

Summary:
The custom logic that we use to support a default timeout for tests in `.buckconfig`
relies on our ability to use a `BuckBlockJUnit4ClassRunner` in place of a
`BlockJUnit4ClassRunner` when running JUnit. Unfortunately, when `@RunWith`
is present, the code path to produce a `BlockJUnit4ClassRunner` is not exercised,
which means our `BuckBlockJUnit4ClassRunner` is not inserted, which means
that our default timeout is not enforced.

This diff modifies the `AllDefaultPossibilitiesBuilder` that is used to select the factory
that is used to produce a `Runner` (which may or may not be a `BlockJUnit4ClassRunner`).
When `@RunWith` is present, we now take the `Runner` that is produced as a result of the
`@RunWith` annotation and wrap it with a `DelegateRunnerWithTimeout` that enforces our
default timeout.

It does this by taking the `RunNotifier` passed by the client and wrapping it in a
`DelegateRunNotifier`, which is passed to the original `Runner`. Our `DelegateRunNotifier`
intercepts events from the original `Runner` and passes them on based on the state of
test execution relative to the default timeout from `.buckconfig`.

Unfortunately, the logic in our `DelegateRunnerWithTimeout`/`DelegateRunNotifier` is not
as airtight as the logic in our `BuckBlockJUnit4ClassRunner`, so we are not going to delete
our `BuckBlockJUnit4ClassRunner` codepath just yet.

Test Plan: RunWithDefaultTimeoutIntegrationTest.