A union traitlet type

@jdfreder @minrk A Union traitlet type. 
Ah, I forgot about the weird relationship of `_validate` and `validate`. What should actually be done here is `trait_type._validate` instead of reproducing the contents of `_validate`.