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.
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
Merge pull request #67 from smichr/union

cleanup reduce/set.union usage
Merge pull request #8565 from asmeurer/reduce

Don't use reduce in checkodesol()