Union queries containing order_by
There's a little helper you can use to wrap a select query:

```python
class A(Base):
    a = TextField()

class B(Base):
    b = TextField()

db.create_tables([A, B])

A.insert_many([('a%d' % i,) for i in range(10)]).execute()
B.insert_many([('b%d' % i,) for i in range(10)]).execute()

q1 = A.select(A.a).order_by(A.a).limit(5)
q2 = B.select(B.b).order_by(B.b).limit(5)

# Wrap the queries in the form SELECT * FROM (SELECT ... LIMIT 5)
wq1 = q1.select_from(SQL('*'))
wq2 = q2.select_from(SQL('*'))

# Create the union - note that it may be necessary to re-bind the
# query to the database. I've fixed this, but it is not contained in the
# current release on PyPI.
u = (wq1 | wq2).bind(db)

for row in u:
    print(row)
```

This prints:

```
{'a': 'a0'}
{'a': 'a1'}
{'a': 'a2'}
{'a': 'a3'}
{'a': 'a4'}
{'a': 'b0'}
{'a': 'b1'}
{'a': 'b2'}
{'a': 'b3'}
{'a': 'b4'}
```
I receive two queries from separate modules and want to combine the queries using `UNION` (or `UNION ALL`). The following works like a charm in MySQL:

```python
def fetch_orders_query(limit, **kwargs):
        return ModuleA.fetch_orders_query(limit // 2, **kwargs) | ModuleB.fetch_orders_query(limit // 2, **kwargs)

# Resulting SQL query
('(SELECT *fields* FROM *table* AS `t1` WHERE (*predicate1*) ORDER BY *field_1* LIMIT *x*) UNION (SELECT *fields* FROM *table* AS `t2` WHERE (*predicate2*) ORDER BY *field_2* LIMIT *y*)')
```

Yet in SQLite, it throws the error `sqlite3.OperationalError: ORDER BY clause should come after UNION not before`. I couldn't find a working solution for peewee, yet I was trying to write a query like proposed in this StackOverflow post: https://stackoverflow.com/questions/10812910/combine-two-statements-with-limits-using-union, without success.

Is there a clean way to solve this issue in peewee? Executing both queries separately and combining the results is not a preferred solution, as the database is on an external server and network operations are extremely expensive performance-wise.