Moved some files around to a better directory structure
Changed namespaces and header guards
Start of requirements