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.
Could you wrap this whole expression (element.compareDocumentPosition(ownedElement) & Node.DOCUMENT_POSITION_CONTAINED_BY) onto the next line to make it easier to read?