Made CodeBlock data structure and started redo'ing the Extractor

Made CodeBlock class that is an n-ary tree and am redoing the
AbstractExtractor class so make it compatible with C, C++, and other
languages.