auto merge of #1875 : Ms2ger/servo/unions, r=jdm

This code works correctly for the two unions currently in use, and raises
exceptions in codegen for most other cases. I will implement those cases when
the need arises.
Merge CGThing.declare and CGThing.define.

This distincion is carried over from the C++ codegen, but it has no meaning
in Rust.