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.
Style nit: two spaces between code and comment (and one space between // and start of comment).

Reasoning: the code generally follows the Google JavaScript style guide (http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml) which defers to the Google C++ guide for general style issues; the latter mandates the comment style in this section: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Implementation_Comments#Implementation_Comments

The only exceptions are:
- line length is not strictly limited to 80 chars; I try to keep it under 100 chars for readability, but that's not a hard limit.
- indent 4 spaces instead of 2: historical reasons, long story :)