Support for capturing device logcat in background.

Changes include:
 - Add method to TestDevice to get a logcat dump, and make DeviceManager
responsible for starting and stopping the logcat capture.
 - Add generic method on ITestInvocationListener for receiving any log data.
 - Switch the IRemoteTest interface to use ITestInvocationListener instead of
ITestRunListener so test's can access the aforementioned method.
 - Adjust XMLResultReporter to save log files in a given directory.
 - Added a few tests and other cleanup.

Change-Id: I648dddf96db0bb69802e252bf53b8128304f6c54
32 files changed