Make the test behave equally in different UAs

Usage of the first event received causes different behavior in different browsers as they have differerent events order. This forces usage of specific event type
Add explicit done() call to avoid harness timeout
Merge branch 'submission/Microsoft/PointerEvents-AddExplicitDone' of https://github.com/InternetExplorer/web-platform-tests-msft into submission/Microsoft/PointerEvents-FixTestFailures
Merge branch 'submission/Microsoft/PointerEvents-UpdatePointerTypeMouse' of https://github.com/InternetExplorer/web-platform-tests-msft into submission/Microsoft/PointerEvents-FixTestFailures
add missing detected_pointertypes code
use shared showPointerTypes() function
fixing variable visibility issues
Merge branch 'submission/Microsoft/PointerEvents-FixPointertypesIssues' of https://github.com/internetexplorer/web-platform-tests-msft into submission/Microsoft/PointerEvents-FixTestFailures
postMessage with zero or one argument shall throw SyntaxError

per the spec https://html.spec.whatwg.org/multipage/comms.html#dom-window-postmessage
Merge pull request #1437 from InternetExplorer/submission/Microsoft/PointerEvents-FixTestFailures

Submission/microsoft/pointer events fix test failures r=mbrubeck
fix structured-cloning with getter properties

Getter property would not be copied during structured-cloning, no Error
is mentioned in the spec (infrastructure.html#structured-clone). The
original case contained 2 independent cases, which can be separated.
Throw TypeError rather than SyntaxError

Thanks for @zcorpan review and comments as:

The algorithms in HTML are layered on top of WebIDL.
The input to the algorithms in HTML are IDL values.

https://html.spec.whatwg.org/multipage/browsers.html#window
 void postMessage(any message, DOMString targetOrigin, optional sequence<Transferable> transfer);

http://heycam.github.io/webidl/#es-operations
 Initialize S to the effective overload set for regular operations (if the operation is a regular operation)
 or for static operations (if the operation is a static operation) with identifier id on interface I and
 with argument count n.
 Let <operation, values> be the result of passing S and arg0..n−1 to the overload resolution algorithm.

http://heycam.github.io/webidl/#dfn-overload-resolution-algorithm
 When n = 0 or 1, step 4 throws TypeError.
Merge pull request #1435 from zqzhang/postMessage-exception

postMessage with zero or one argument shall throw SyntaxError
getter_cloning_should_propagate_exceptions

Agree with the reviewer's comment. Follow the steps defined in 8.2.
Remove unnecessary whitespace

Remove unnecessary whitespace
Merge pull request #1438 from siusin/fix-webmessaging-withoutports026-getterclone

fix structured-cloning with getter properties
Added test for Element's custom attributes

Based on a discussion in [1], this tests ensures that Element's dataset
properties does not interfere with namespaced attributes with the same
name, but in different namespaces (in the former case, all Element's
dataset properties are stored as attributes with no namespace).

[1] https://critic.hoppipolla.co.uk/showcomment?chain=8907
Merge pull request #1440 from brunoabinader/custom-attrs

Added test for Element's custom attributes; r=Ms2ger