Clean up ArrayCache code

Make it more expandable (in regards to boxed part of it)
Mutable Vector based MonadCache

Even more limiting but even faster MonadCache implementation based on `vector` package
Refactor and streamline Vector and Array code

Also adjust examples and tests
Different flavours of Vectors and general refactoring

After trying different approaches to "eval*" and "run*" functions (including promising TypeFamilies-based approach which, unfortunately doesn't work in GHC 7.4.*) this is the final variant of the implementation. Based on good-old FunctionalDependencies