count() on ModelCompoundSelectQuery raises error
Ahhh, interesting. Will get this fixed. Fixed and added a test-case.
I'm rewriting code from 2.10.1 to 3.0.9. One used to be able to do a .count() on a combined query, but now it raises an `AttributeError`. For example:
``` python
(Network.select().where(Network.id == 301) |
 Network.select().where(Network.id == 300)).count()
```
``` python
~/working/peewee/peewee.py in inner(self, database, *args, **kwargs)
   1440             raise Exception('Query must be bound to a database in order '
   1441                             'to call "%s".' % method.__name__)
-> 1442         return method(self, database, *args, **kwargs)
   1443     return inner
   1444 

~/working/peewee/peewee.py in count(self, database, clear_limit)
   1695             clone._limit = clone._offset = None
   1696         try:
-> 1697             if clone._having is None and clone._windows is None and \
   1698                clone._distinct is None and clone._simple_distinct is not True:
   1699                 clone = clone.select(SQL('1'))

AttributeError: 'ModelCompoundSelectQuery' object has no attribute '_having'
```
A working workaround is to wrap the offending boolean check in a `try: except:` clause, but I suppose the `CompoundSelectQuery` class should just initialize these attributes, as I feel it should call the initializer from `Select`.

PS. This works without issues:
``` python
len(Network.select().where(Network.id == 301) |
 Network.select().where(Network.id == 300))
```