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 
It could be, but in the case that there's no attribute value: `<myth myattrval="" />` I save an extra snippet of code. Aka if `attributeValueStartLocation` was not initially set to the `span.Start` at the end I'd have to do:

```C#
builder.Start = !capturedAttributeValueStart ? span.Start : attributeValueStartLocation;
```