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.
Regarding "making arguments a named arguments object".
So I did this and then when I tried to refactor the jsdoc I got rather stuck. I know how to do it in vanilla jsdoc but not the closure version. It seems that no matter how I do it we would lose the descriptions for the parameters? It seemed like typedef was the closest tag but I couldn't find examples with doco for each param.

Since it's optional I think I'll leave that one and perhaps revisit when I have worked out how to doc this properly.