Ports from aria-toolkit and enhancements

Added audit for multiple explicit owners.
Added audit for aria-owns DOM descendant.

Enhanced (and renamed) "non-existent-labelledby" audit to cover all id reference types: 
 * aria-activedescendant
 * aria-controls
 * aria-describedby
 * aria-flowto
 * aria-labelledby
 * aria-owns

Added a few utility methods to support some of the new functionality.
Added IE11 support.
Added unit tests for RequiredAriaAttributeMissing audit.
Unit tests for all changes.
I'd call this severe: they're trying to express a relationship to an element which doesn't exist; that's something that should be fixed, however the error is occurring.
My rule of thumb for choosing severity:
- WARNING is for something which is probably a problem, but is either low certainty or not a show stopper (e.g. image missing alt text is definitely an issue but usually not a show stopper - the browser will "repair" the alt text using the file name and usually surrounding text will give enough context that it'll be annoying but workable)
- SEVERE is for something which is definitely an issue and is probably a showstopper: a bad ARIA role is clearly a problem and could be a showstopper if, for example, they're shooting for a widget role and suddenly an AT user gets no information about the element at all)