Adding Union extension method overload to generic enumerable extensions

Linq already has a `Union` extension method but it only takes an `IEnumerable<T>` so if you wanted to add one item to an existing enumerable you would do `source.Union(new [] { item})` just to append it. This new extension allows you to do `source.Union(item1)` or `source.Union(item1, item2, ..., itemN)`