Refactor SelectionModeListener.

* Move ActionMode logic into a new class ActionModeController
* Move SelectionDetails logic into MultiSelectionController
* Merge canSelect() and onBeforeItemStateChange()
* Add some basic unit tests for selecting unselectable items
* Fix a bug that selects unselectable items using gestural selection
* Convert MultiSelectManagerTests to JUnit4

Change-Id: I14642178ff39e7b990cc9f3fb0d9f40e6309e087
23 files changed