Refactoring Internal Code and Documentation

Biggest external change is that the xcache driver no longer exists due to it's inability to be properly tested.

Other than that this was an internal refactor meant to improve code quality.