* create ITasMovie interface, still lots of todos
* interface for TasMovie.ChangeLog
* rename method
* interface more TasMovie things
* file rename
* interface more ITasMovie things
* make Bk2Movie and TasMovie internal, rely on interfaces for behavior and MovieService for instantiation
* MovieService cleanup
* cleanup TasBranch handling and simplify ITasMovie api
* more branch logic cleanup and ITasMovie simplificaiton
* more cleanup of branch handling
* more ITasMovie simplification
* nitpick cleanup
* Use IMovie.GetInputLogEntry instead of GetLogEntries
* more ITasMovie cleanup
* move come ITasMovie properties to TasBranchCollection
* TasMovie cleanup
* simplify ITasMovie more
* cleanup
* Finally use exponential decay algorithm for greenzone
* Works in both directions (unlike fceux taseditor)
* Stop using last accesses states for anything
* When dropping states per project save, account for state gap better
* Use _states.Keys[i] instead of _states.ElementAt{i).Key in speedy parts, because it's apparently tons faster
* Use StateIsMarker() where it's supposed to be used
* Markers are still left untouched
* Branch states are still dead (probably forever)