Add an abstraction layer for cache handlers.

This way, anyone can write their own cache handler and pass it to Eos. Also
exposed the data handler and new cache handler abstract classes so you can
easily import them.
Add tests to check charge switches for unbound holders
Add checks of charge.container reference to tests
Rework container test cases to track what's being put into fit services (restriction and link tracker). Also fix some code whicch choked on attempt to add None to containers
Add tests for holder states and restriction tracker validation relay
Add tests for charge switching, addition and removal of modules with charges
Merge pull request #1 from NiGhTTraX/decoupleCacheHandler

Add an abstraction layer for cache handlers.
Various small fixes to Eos and data / cache handler
Remove garbage
Rework copypasta in holder class
Add checks of _other reference to module-charge tests

Attribute calculator relies on these