Feature cleaner razor builder

Some cleaner tests for razor. Changed the RazorTypeBuilder to read a little bit better and not passing a stream around which is read multiple times. Now the stream is read one time, and I've added one pre-processing step to identify the directives.