Allow for toggling of layout hierarchy compression

When the compression feature is set, the accessibility
layout hierarchy will only show important nodes and will
remove unnecessary surrounding layouts making the hierarchy
more human readable and efficient to search.

The compressed hierarchy will be the default. Previous tests
which depended on the more verbose hierarchy, will either
need to update their selectors, or disable this feature
from the UiDevice.

However, the uiautomatorviewer will always show the hierarchy
in its compressed form to encourage the user of the more
compact and efficient selectors.

Change-Id: I1d5d909ce7d4f60108dc491348fcf8da8549806c
am 137fd28d: am 5fb28ffc: am 2845dc24: Merge "Add support for JUnit4 Parameterized tests"

* commit '137fd28ddb6e5b203378c93c48947d65fb6bbc50':
  Add support for JUnit4 Parameterized tests
am 4085195a: Merge commit \'458addac\' into manualmerge

* commit '4085195a26e06737f866a86c458aa626199dabc9':
  Add InjectBundle annotation for JUnit4 tests.
am 80bb7c1c: am 13c9b947: am 7824d00c: Merge "Add mechanism to add extra RunListener"

* commit '80bb7c1c7a2418592a886375891dc2449fc6c62d':
  Add mechanism to add extra RunListener
UiObject did not perform the wait waitForObject() in UiWatchers

The UiWatcher in test libraries use the UiObject#waitForObject
to wait for certain conditions to come true, however polling
for object state was unecessarly disallowed. Initially the
rational was to prevent the UiWatcher code from blocking too
long, but this doesn't prevent the UiWatcher from using
system sleep and blocking anyway.

Change-Id: Icd086e696f903ddc409ce8eabaa87c99648a90b5
Merge "UiObject did not perform the wait waitForObject() in UiWatchers"
am 5fa2d904: Merge commit \'7a9a9f00\' into manualmerge

* commit '5fa2d904f95653a1353bebafd6b29172552152f7':
  Add ability to receive command line args in JUnit3 tests.
am c625944f: (-s ours) am 8ff5e708: am 336ce2a5: am 63e89c49: am 17f9bee4: (-s ours) am 58af0551: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit 'c625944f0c848cfe87be94c04a05a15d7d57be8d':
am 4a82ca38: (-s ours) DO NOT MERGE - Allow for toggling of layout hierarchy compression

* commit '4a82ca385244ade0d9a5654d7eb3b7797846a6db':
  DO NOT MERGE - Allow for toggling of layout hierarchy compression
am bb36257f: (-s ours) DO NOT MERGE - UiObject did not perform the wait waitForObject() in UiWatchers

* commit 'bb36257f15f090966e2aeb9fd4f092e1a54722b1':
  DO NOT MERGE - UiObject did not perform the wait waitForObject() in UiWatchers
am 76c7edc9: Modify the default iteration to 20

* commit '76c7edc9e8b5e9108c9006a73a9abb80775edc4f':
  Modify the default iteration to 20
am 805b170c: function to ensure visibility of child item inside a scrollable

* commit '805b170cb517a16adb6116bcf800f39ff711c27d':
  function to ensure visibility of child item inside a scrollable
am 198177b0: Fix for uiautomator arguments that contain spaces

* commit '198177b0f8c1d303958ca19d38d2488baf44f296':
  Fix for uiautomator arguments that contain spaces
am c5cb28fb: am 9d96629f: am 8b328127: Merge "Fix incorrect test counts when filtering JUnit3 tests."

* commit 'c5cb28fb607a88d9e24d56730880d361d86fbc4d':
  Fix incorrect test counts when filtering JUnit3 tests.
am f36191d2: Merge "Revert "Fix for uiautomator arguments that contain spaces"" into jb-mr2-dev

* commit 'f36191d2a51bc2873315870cf262895075f57f5c':
  Revert "Fix for uiautomator arguments that contain spaces"
am b7c67dba: Fix class runner selection.

* commit 'b7c67dbac6416e6b3f9296abd4b6bf9e840a8acc':
  Fix class runner selection.
Add unit tests for size filtering for JUnit3 tests.

Change-Id: Id824077a25ba997b45d5a006aed5c034074327e3
Merge "Add unit tests for size filtering for JUnit3 tests."
am 2698e577: Merge "Add unit tests for size filtering for JUnit3 tests."

* commit '2698e577a1c2ed205753b11b727f02b1e40e246d':
  Add unit tests for size filtering for JUnit3 tests.
am c9cfb06e: am 2698e577: Merge "Add unit tests for size filtering for JUnit3 tests."

* commit 'c9cfb06efe46a761902d16a60798d5d2dd331b63':
  Add unit tests for size filtering for JUnit3 tests.