Update HTML Helper dependencies to be case insensitive.

- Added two sets of tests to validate the new functionality of Object => Dictionary tests.
- Modified a functional test that utilizes HTML Helpers to provide same attribute-different case objects.
React to case insensitive TagHelperOutput.Attributes.

- Cleaned up some existing bad code that worked around case sensitive TagHelperOutput.Attributes.
- Modified MergeAttributes to be case insensitive when it comes to merging class attributes.
- Added a test to verify the new MergeAttribute case insensitive class merging.

aspnet/Razor#186