UNION with 3 or more queries leads to invalid SQL syntax (MySQL)
Fixed in d339c03. Thanks for the patch!
With the MysqlDatabase a UNION with 3 or more queries leads to a wrong syntax by wrapping individual UNION pairs in parentheses.
I don't know if other databases are affected as well, SQLiteDatabase seems to work.

Test Case:
```python
class A(Model):
    id = PrimaryKeyField()
    b = IntegerField()

    class Meta(object):
        database = MySQLDatabase(MagicMock())

class TestPeeweeUnion(TestCase):
    def test_union(self):
        union = (A.select() | A.select() | A.select())

        self.assertEqual('(SELECT `t1`.`id`, `t1`.`b` FROM `a` AS t1) UNION (SELECT `t2`.`id`, `t2`.`b` FROM `a` AS t2) UNION (SELECT `t3`.`id`, `t3`.`b` FROM `a` AS t3)', union.sql()[0])
```

The assert fails because instead the following string is generated:

```sql
((SELECT `t1`.`id`, `t1`.`b` FROM `a` AS t1) UNION (SELECT `t2`.`id`, `t2`.`b` FROM `a` AS t2)) UNION (SELECT `t3`.`id`, `t3`.`b` FROM `a` AS t3)
```

The first pair of UNION is in parentheses.

Affected Versions are 2.8.4 and 2.8.5.

Thank you for looking into this.

Edit: Judging by the test TestCompoundSelectSQL.test_multiple_with_parentheses this behavior is apparently desired. So in MySQL the parantheses should be set differently to the default.