rework split-model with exploratory code - I'll refactor it back into map-model when I understand the requirements better...
first shot at getting split submodel updating - time for a rethink
add utils module and make available to core
add utils tests
add explicit views field to Model
take responsibility for maintaining views from atom and move into Model - this gives us more control:
- outgoing notifications do not need to be part of state, simplifying code that deals with state
- should be easier to bundle different types of notification together to support split-model