Add code generation tests for tag helpers.

#72 

Implementation PR: https://github.com/aspnet/Razor/pull/134
`Process()` is the only known method in the tag helper and it's called just once in the current system, immediately after instantiation (again, except in the `Modify` case).  then the output and not the helper is cached in the context.  so I don't buy your corner case.
I'll admit the `CreateTagHelper()` method could have its own cache but that's just a workaround for the extra create calls in the generated code.
stepping back a bit, why cover these types of corner cases in the initial implementation?  if we find later that reusing tag helpers within an `ExecuteAsync()` invocation, can always switch to this more complex generation.