Added a generic item class, and a number of new defines, moved some existing defines into new define classes, added .gitkeep files for file structure