SortedList data structure

This is a collection class that keeps items in order and dispatches
change events which makes it play nice with RecyclerView#Adapter.

It also has support for batching events so that when multiple
consecutive items are added/removed/updated in the list,
they can be dispatched to Adapter as 1 op, making it easier for
RecyclerView to handle.

Bug: 18753633
Change-Id: I86e3cce1873d8d0b310658a9b8f2f943750e9f8f
4 files changed