Fix for codeplex-1120 - Move CreateSerializer out of the base class

This is a small refactor as a precursor for api-explorer work.
Porting razorpage perf improvements from codeplex-2119

These changes were worth 2-3% of execution time on a page that makes heavy
use of attribute writing.

Making the overloads for writing a string public should show a small
throughput increase for a typical razor page.
cr feedback