#2183 Initialize Event::bubbles to false
Implement a cleaner way of dealing with optional arguments in codegen and use it for primitive types.

This puts the Some constructor outside the match, making the actual
generating code independent of the optionality of the argument.
Use handleOptional for the 'any' conversion.
Use handleOptional for the union conversion.

Note that unions didn't handle optional arguments correctly before.
Use handleOptional for the DOMString conversion.
Use handleOptional for the enumeration conversion.
Move optional/nullable handling out of CastableObjectUnwrapper.

This puts the code that wraps the type in Option<> and the code that wraps
the expression in Some() into the same if block, which should clarify the
code.
Use handleOptional for interface conversion.
Use handleOptional for dictionary conversion.

This does not have any effect, as isOptional is always False for dictionaries.
This change is made only for consistency.
Use handleOptional for callback interface conversion.
auto merge of #2233 : campadrenalin/servo/initialize-event-bubbling-to-false, r=Ms2ger

Fixes #2183.
Throw a TypeError when too few arguments are passed.
Allow passing extra args to wptrunner via an environment variable
auto merge of #2245 : jgraham/servo/make_wptargs, r=Ms2ger
Remove unused_mut warning
auto merge of #2248 : Manishearth/servo/unused_mut, r=jdm
auto merge of #2244 : Ms2ger/servo/optional-rewrite, r=jdm

This moves all handling of `isOptional` (except `type.isCallback()`, which I believe @jdm is rewriting in #2204) into one place.
Move ThrowTypeError to error.rs.
Update submodule for mozilla-servo/rust-http#15
Use more rustic names for ThrowTypeError and infrastructure.