Add an "_enum_first" function to the language.

For each enum type, an _enum_first function is generated, which returns the
first enumeration specified when the type was created.
Basic test case to lock in behavior
Move the code to insert module init functions from the start of scopeResolve to the start of docs.  Remove references to mod->initFn from scopeResolve.cpp
Merge pull request #58 from lydia-duncan/enumFirstFunction

Enum first function
Tweak the verify test for the target of a GOTO.  The test assumed that if the label had been resolved, i.e. scopeResolve had ran, then the branch must be inside some function.  For expressions at top-level this was implicitly the initFn.  Relax the test so that it does not complain if the parent is a module and that module does not yet have an initFn.  This test will be run after each pass and eventually there will be a pass where the initFn is present
Remove the #if 0 around the "suspect" code now that paratest has passed
Merge pull request #63 from noakesmichael/init-fn

Migrate the code to insert module initFn from scopeResolve to docs.  Almost home.

Cleaned up a few references to initFn in scopeResolve and tweak the verify operation for GotoStmt
to handle the case when the initFn has yet to be inserted.

Compiled: clang STD, gnu STD/LLVM
Tested: paratest --verify
Review: Elliot