DO NOT MERGE Cherry picking 3 CLs to fix CTS testFitSystemWindows

----
Explicitly track consumed state for WindowInsets

Treating 0-insets as fully consumed is incorrect since it means that
you can't dispatch empty insets down the view hierarchy - traversal
terminates immediately. Track consumed state independent of actual
values. Replacing a given set of insets with all zeroes will mark it
consumed.
----
Fix incorrect dispatch of empty WindowInsets from ActionBarOverlayLayout

Fix a bug where ActionBarOverlayLayout was using a private constructor
of WindowInsets to return empty insets that should have been marked
fully consumed. This caused dispatch to further child views not to
stop appropriately, corrupting application layout in some cases.
---
Fix CTS regression in fitSystemWindows

Don't attempt to apply null insets from a call to fitSystemWindows.
Immediately return false since null insets cannot be applied.
----

Bug: 15452706
Change-Id: I34276a90305b141b4653aef0048f70350c69d02a
4 files changed