Add HtmlAttributeNameAttribute for TagHelper properties.

- Added the ability to override the HTML attribute name for TagHelper properties.
- Tested functionality of overriding the attribute name target and inheriting the attribute name.

#121
remove `[NotNull]` and throw an `ArgumentException` if `name` is `null` or empty