Really break everything :)
Snapshot of refactoring work.
Working through bugs in basic omm.Model and omm.Store object new.
Further break OMM as it is today...

... I'm just going for it. The change in selector format is so massive that I've essentially needed to gut all the major existing classes and rework each line of code. That's okay - OMM is extremely useful to me and hopefully will be to others. It's critical that the programming model exposed by OMM be concise and powerful. Hopefully it won't be too onerous to use. However, the emphasis is on the core class and API design. I know there are places where performance of the OMM store and notification systems can be greatly optimized. But for now I'm knowingly cutting some performace corners to get everything working again.

What I've started in this commit is the general pattern I want to establish for all OMM observers. Note I say "OMM observers" and not observers generally as generally people who leverage OMM will re-use the bundled "OMM observers" I am writing and extend their own object models with domain-specific observer implementations (that likely are tightly coupled with the object model, and possibly the contets of the store (observers can be really really sophisticated...)).

The navigator treeview thing has been broken as an example; the new NavigatorModelView class takes no construction parameters (i.e. it's not bound to an object model or object strore inherently). Binding is to occur dynamically when the observer is registered with a specific object store instance.