Add line mappings to project TagHelper attribute values.

- We now create LineMappings for instances where a TagHelper's attribute value is not of a string type.
- This will enable the Razor editor to create projections from .cshtml => .cs for TagHelper attributes.
- Modified the TagHelperCodeGenerator and TagHelperBlockBuiler to accurately track the attribute values start locations so it could flow into code generation.
- Modified existing tests to account for the new line mappings.

#207

/cc @dougbu 
suggest clarifying this comment. for example the meaning of "abide by the parent" isn't apparent.  and if that meaning was apparent, "so we know ..." should be unnecessary. likely need the "so we know" bit but in a reordered paragraph.