Major Refactoring and Cache Restructuring

Split main codebase into various individual libraries.
Restructures the cache.  Entries are codified in entry.vn files and can
contain multiple files and configs.