Feature/event navigator

I've finished a stripped down version of the EventNavigator that replaces all the global input variables (g_data etc.)  

Since reworking the output in an extensible way is a complicated task in itself I've deferred that to the next iteration of this feature, so output is still done with globals, and the task of atomising the branch clean up is still to do (i.e ClearGlobalData bugs are unresolved and AnalysedPulseMap(Blah) still exist.  Beyond that the EventNavigator is not controlling ownership and access to branches either, it doesn't make much sense to do that without reworking the output format.  In my tests the output file has changed a little; file size is 32 bytes smaller in 1MiB (=1000 entries).  I haven't seen anything different browsing in an interactive session, so I'm assuming this is unimportant.

There are a few classes in here (such as the hash functions) that are aimed at future development. They should compile, but are not used at run time.  

Do people want time to play with this before I merge it back into develop?