Added minimum stack size
Removed comment about postincrement
Various structural changes to Generator

Moved typedefs around, and added typedef for GeneratorFunc (clang support)
Added GeneratorCoreAccess to enable private run functions.
Moved finalizing loging out of static_run into begin_run
Changed exit_generator to take a GeneratorState argument
Made the stack size argument optional

Updated main example to use GeneratorCoreAccess as a friend class.
Updated TODO