Cannot nest select within insert in 3.0.11
Committed 8131847467a7be0f44e22f5ceb64470bb8586f93, which fixes the issue. Thank you for reporting, I've also pushed version 3.0.12 to PyPI, which includes the fix. Fantastic! many thanks.
Using python 3.5.1 (with pysqlite 2.6.0, sqlite 3.8.11) and peewee 3.0.11

Using an `INSERT` statement like the one below generates sql where the nested `SELECT` expression is not enclosed in parentheses:

```python
query_id = Table.select(Table.id).where(Table.value == "whatever")
Table.insert(id=query_id, value="whatever (improved!)").on_conflict_replace()
```

```sql
INSERT OR REPLACE INTO "Table" ("id", "value") 
    VALUES (SELECT "Table"."id" FROM "Table" AS "Table" WHERE ("Table"."value" = 'whatever'), 'whatever (improved!)');
```

The exception this throws is `peewee.OperationalError: near "SELECT": syntax error`

Attaching a test script, with (lightly scrubbed) output.
[peewee_insert_select_test.py.txt](https://github.com/coleifer/peewee/files/1696070/peewee_insert_select_test.py.txt)
[output.txt](https://github.com/coleifer/peewee/files/1696063/output.txt)

