Can now compile with catch with no errors, although there are errors within the
test cases. Also added a check in the generate_headers.py file to see if the
headers have already been generated (this is a proposal and can be removed)
because it's time consuming when there is no changes to those files. the change
is fairly dumb (check if file .JSON_done exists) and doesn't consider the
modification time of the files.
generate_headers.py may not be called from the correct path, so get the
path of generate_headers.py and determine the base path from there
assuming generate_headers.py will be in dev/
set path through --path that is the root directory for the code. The
default is None as this was the previous behavior, however this does not
make sense.
Also the path name is normalised as, depending on OS there is confusion
on slash direction.