adds basic system from which all systems have to be derived from.
It provides the basic mechanisms to store and handle components per entity.
changed basic system destructor to pure virtual
Merge branch 'util' into ecs
eliminates compilation error caused by std::move calls in basic_component
add premake build script
add generated makefiles to .gitignore
add output directories to .gitignore
default copy/move constructor/assigment operator and add noexcept where possible
add main for testing
add custom queue which is a wrapper around std::vector to ensure nothrow move construction
change std::queue to custom queue in get function for system tuples