Added CompilerSession class.

ProgramTask has been updated to use this new class.