A union traitlet type

@jdfreder @minrk A Union traitlet type. 
In the case of a trait type such as `Type()`, None is allowed but does not pass the validation. (_validate checks for allow_none).
Rather than doing what I do, I could also set `self.allow_none` as True if it is true for any of the trait types of the list and avoid that step.