Added GoAT.sh script: Allows to run goat from any directory
Modularized CMakeLists

Introduces lists for the common header and cc files and then uses those
in the executable targets. This makes it easier to add files to that are
common to all targets.