added documentation
renamed some classes and moved them to separate packages
changed CompileCommentTemplateStage to conform to BuildBoost conventions