Splits off the ModuleNames into it's own module.

The locations and names of specific modules were part of Code.Builder.
As this module was getting quite large and the resolving of names
should not depend on the builders the naming is moved to it's own
module.
Moves whenOption and unlessOption to Main.Monad

whenOption and unlessOption should be present regardless of the monad
ontop of the RawGenMonad.
Adds the module header, lining etc.
Merge branch 'monad' into develop

Conflicts:
	src/Code/Builder.hs
Updates module headers (only start year copyright)