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 
- one concern is that attributes don't seem to be used much in the tag helper design-time tests.  do the tests include for example `<helper html-attribute=@value />`, `<helper bound-attribute=@value />`, `<helper html-attribute='@value' />`, or similar cases?
- another concern is handling more complex expressions.  for example does Razor handle `<helper @checked/>` or `<helper html-attribute='string@(value)string' />` at this point?