Rewrite the interface unwrapping to return an expression.
Rewrite the union unwrapping to return an expression.
Rewrite the DOMString unwrapping to return an expression.
Rewrite the any unwrapping to return an expression.
Rewrite the primitive unwrapping to return an expression.
Rewrite the enumeration unwrapping to return an expression.
Move responsibility for assigning to ${declName} out of getJSToNativeConversionTemplate.

This commit does not make any change to the generated code.
Remove the 'retval' local variable from union TryConvertTo methods.
Rewrite dictionary codegen to initialize members directly into the struct.
Remove unused function getUnionAccessorSignatureType.
auto merge of #2229 : Ms2ger/servo/getUnionAccessorSignatureType, r=jdm
auto merge of #2228 : Ms2ger/servo/object-unwrapping-expressionify, r=jdm
Remove the holderType return value of getJSToNativeConversionTemplate.

It is always None.
auto merge of #2231 : Ms2ger/servo/remove-holderType, r=jdm

It is always None.
#2183 Initialize Event::bubbles to false
Increase codegen test coverage.
Implement FromJSValConvertible for union types.
Use FromJSValConvertible's nullable conversion code.
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.