Finished adding support PreprocessorDirective gathering in Parser

Gathering PreprocessorDirective instances generated during parsing
should work properly now and handle all preprocessor directives.
Changes to the way the directives are gathered and stored will only
extend the currently available functionality.