closes #10

A minimal separation has been achieved, just to keep the different
modules in different files. As a result, we can find three files:
Overreact (generic stuff such as primitives), MapIntepreter (the
interpreter based on a map) and GCD (which hosts the final algorithm).