This MR includes a few different improvements to the handling of namespaces:
- namespaces can now have parents
- the code stops if a namespace is too large
- there is now a global namespace
- the messages_error_input now requires a namespace so that the user knows exactly which input variable is incorrect.
Several improvements to the handling of namespaces.
- I have checked that my code follows the Octopus coding standards
- I have added tests for all the new features added in this request.