fixed bug which resulted in the smallest index not necessarily being first
Previous commit was crap. Tempting to think that searches happen against
indexes, but they really happen against the wrapping conditions.
Allow unions of set. This is the fist and most basic step in allowing "or"
queries.

Current unions can never be used for an index-based iteration. It would be
nice to fix this, but I'm not sure how without making this an O(N*M). If it's
kept so that they can't be used, we should make sure they are never placed
at the start of our condition list.
never place a condition which can't iterate before one that can
tests to make sure non iterable conditions are never sorted before iterable conditions
Make the union's key index name consistent.

Shouldn't the key contain the index name? Instead of '<10', shouldn't it be
'age<10'. Only matters when query cache or condition cache is added (i think).
union tests
format
merged master