External macros

- moves the dout macro and the areSame function into a separate file
- reorganizes some of the imports so that the individuals files are self-sufficient