Another library-wide overhaul

Moved file system and networking to separate project, added cache
interface, moved and edited routing and controllers