Don't use reduce in checkodesol()

It isn't avaiable in Python 3
Use set().union instead of set.union

This makes it work with no arguments. Thanks to @kjordahl for pointing this
out.
cleanup other set.union cases
quick