Implement collection events and handler looper for the collection thread.

- I/O performance data collection runs on a new collection thread and
the collection events are handled by the looper handler.
- CarWatchdog daemon can interact with the I/O performance collection
module via the public methods to start collection, switch collection
type, dump collection records, and terminate collection.
- Following CL will integrate I/O performance collection module with the
CarWatchdog daemon's ServiceManager.
- Added Looper wrapper and stub so the tests can deterministically interact
with the looper and execute the collection on the collection thread.
- Added stubs for UidIoStats, ProcStat, and ProcPidStat collectors so
tests can similate the response from these collectors.
- Added unit tests to similate different collection events.

Below reports were generated from IoPerfCollectionTest#TestValidCollectionSequence test:
Sample bugreport dump:
https://paste.googleplex.com/5761927382827008

Sample custom collection dump:
https://paste.googleplex.com/4592660822097920

Bug: 148486340, 130382110
Test: Tested with unit tests.
Change-Id: I517badad732b6d199082c0d126bb5fa22f36ec89
11 files changed
tree: 8867e3bfbccb54baab306e8f42b339fee5c63fd7
  1. car-bugreportd/
  2. car-default-input-service/
  3. car-lib/
  4. car-maps-placeholder/
  5. car-systemtest-lib/
  6. car-test-lib/
  7. car-usb-handler/
  8. car_product/
  9. computepipe/
  10. EncryptionRunner/
  11. evs/
  12. experimental/
  13. FrameworkPackageStubs/
  14. obd2-lib/
  15. procfs-inspector/
  16. service/
  17. tests/
  18. tools/
  19. user/
  20. vehicle-hal-support-lib/
  21. watchdog/
  22. .clang-format
  23. .gitignore
  24. Android.mk
  25. CleanSpec.mk
  26. CPPLINT.cfg
  27. OWNERS
  28. PREUPLOAD.cfg
  29. README.md
README.md

Native (C++) code format is required to be compatible with .clang-format file. Run

git clang-format --style=file --extension='h,cpp,cc' HEAD~

Note that clang-format is not desirable for Android java files. Therefore the command line above is limited to specific extensions.