Functions split among multiple files to keep things more organised
Created library for dictionary manipulation, this will be used later on
finished temporary test file for the dictionary library functions
Basic project discovery done
need to:
i) detect master project as well
ii) make dict work also with local variables
iii) implement module variables isolation via namespacing
iv) implement project scoped variables to be used for module global variables (like local vars but expanded by & instead of @)
Implemented new module variable registration system
missing:
i) ignore mk/* in projects (generic path ignore support missing)
ii) change behavior for conflicting module and project names -> fail verbosely
iii) custom project names in project.mk
iv) project-local variables
added path ignore support to module variable export but not to include, bugfixing and debug output
Closes #6
Improved local variable setters and getters by addition of a new
interface.
The new interface has been implemented only for module-local variables,
in principle this will work also for project-local variables.
dictionary working with module-local variables
added tags configuration to local expansion as well
Added error state for modules with the same name
Added possibility to define custom namespaces
Added scope.mk file included before everything else, this is used to define ignore paths and namespaces

TODO
missing possibility to give arbitrary name to a namespace
Added custom naming to namespaces
i) Bugfixing in module.mk now variables are exported in the correct way again
ii) Added error thrown if multiple legit .mk files are found in the same module
iii) moved module name creation logic to a separate function -> beware of dependency among anrem-ns-check-ignore, anrem-mod-check-register and anrem-mod-check-file-parse
iv) checked the basic functions for ns local variables

@TODO
i) verify that the ns local vars shortcuts are not brokend
ii) use a better syntax for the local var shortcuts such as $(<@) for the beginning and $(@>) for the end of the blocks
i) fixed tags definition of namespace local variables
ii) changed tags to <@ @> and <& &>
Finished feature, closes #5
Started working at issue #2, the main directory structure has been figured out, however to be able to
create the test tree it is needed feature #5 (subproject integration).
added assertion tests, now the only sample and testing dir is tests, other will be removed
i) Improved test functions and organization of test helpers
ii) Added basic tests for module inclusion

TODO
i) fix errors found
i) fixed module inclusion system
ii) updated tests for module inclusion to test namespace path variables as |ns_name
i) added tests for target functions
ii) made the test assertions not run on every make test since it gives some intended failures that
pollute the prompt

TODO
i) add test for execution of targets in target tests via recursive make
i) finished test_targets
ii) moved all debug output to use warning instead of info so that output goes to stderr and can be easily stripped
i) added test for autodeps
ii) added some more assertions for sh output and diff

@TODO
i) test new assertions