Added a stop/start system for the change monitor. Broke code that responds to data changes out of ListAdapter, and into a new ListOpHandler. Also using this for sorted_keys in DictAdapter, which is now observed for changes in the same way the data list is observed in ListAdapter. Improved the way dict changes are handled in DictAdapter, either dispatching for a dict specific change, or by changing sorted_keys. Improved scrolling reaction to item adds.
Moved selection-related code out of ListAdapter, into a mixin used in Adapter, and thus in both ListAdapter and DictAdapter (removing subclassing of DictAdapter(ListAdapter), which caused problems). Pushed cached_views and view creation/handling code from ListAdapter to Adapter. Made SimpleListAdapter a separate class. Made a simple change monitor for dict changes. Added a differentiation between data and sorted_keys in the change_info reset in ListView.