Various Changes

stack_size is no longer a template parameter
Added typedef for the boost::optional<YieldType>
Moved all typedefs to the top of the class
Added yield_from