WIP: Added TagHelperContext.UniqueId

- The ID is created at view compilation time and is unique per TagHelperExecutionContext and thus per HTML element in the source for which Tag Helpers will run
- #241
- Still need to update tests, may need to add some plugability to do it well, e.g. ITagHelperUniqueIdGenerator
*Note*: When it comes to adding tests you may want to add an internal ctor that just takes in `allAttributes` so you don't need to modify all the tests to take in an unneeded `uniqueId`. Of course for the tests that you care about testing it you can, but for the existing ones it's probably not necessary.

```C#
// Internal for testing
internal TagHelperContext([NotNull] IDictionary<string, object> allAttributes)
    : this(allAttributes, Guid.NewGuid().ToString("N"))
```