MVC refactor, to leave only base class extensions in root app directory

I have had to label interface as interfaces, as Interface (and Abstract) is a PHP keyword. This is a slight deviation from the current naming convention, so a better name is welcome.

This is mainly prep work for mirroring the code structure here, in the files app, in order to extend the files app with categories.