More ports from aria-toolkit and enhancements

* Implicit semantics
* More audits:
 * RequiredOwnedAriaRoleMissing
 * DuplicateId
 * RoleNotScoped
 * BadAriaAttribute
 * UnsupportedAriaAttribute
 * AriaOnReservedElement
* Fixed BadAriaRole audit to handle abstract roles
* Several supporting changes and optimizations to utility methods and constants.
* A few minor formatting tweaks

Until this minute I thought that was universally accepted as the convention when performing an assignment in a comparison. It is (meant) to signal that it's not a mistake.  Some examples:
http://www.jshint.com/docs/options/#boss
http://jslinterrors.com/unexpected-assignment-expression#why-do-i-get-this-error-