SQLite journal mode hangs
## Summary

The following code hangs indefinitely.

``` python
>>> import peewee
>>> db = peewee.SqliteDatabase(':memory:', journal_mode='WAL')
>>> db.connect()
```
## Diagnosis

When you hit Ctrl+C to trigger `KeyboardInterrupt` exception, you get the following traceback, indicating that `_add_conn_hooks`, which is called from `connect` (first line of the traceback), recursively calls back into `connect` (second to last line of the traceback), causing a deadlock with the database object's lock.

``` python
^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File ".../venv/lib/python3.4/site-packages/peewee.py", line 2810, in connect
    **self.connect_kwargs)
  File ".../venv/lib/python3.4/site-packages/peewee.py", line 3018, in _connect
    self._add_conn_hooks(conn)
  File ".../venv/lib/python3.4/site-packages/peewee.py", line 3026, in _add_conn_hooks
    self.execute_sql('PRAGMA journal_mode=%s;' % self._journal_mode)
  File ".../venv/lib/python3.4/site-packages/peewee.py", line 2867, in execute_sql
    cursor = self.get_cursor()
  File ".../venv/lib/python3.4/site-packages/peewee.py", line 2833, in get_cursor
    return self.get_conn().cursor()
  File ".../venv/lib/python3.4/site-packages/peewee.py", line 2826, in get_conn
    self.connect()
  File ".../venv/lib/python3.4/site-packages/peewee.py", line 2803, in connect
    with self._conn_lock:
KeyboardInterrupt
```
## Solution
- [ ] There appear to be no tests in the repo for `SqliteDatabase`'s `journal_mode` argument. One should be added.
- [ ] `_add_conn_hooks` needs to execute SQL directly on the `conn` connection argument it is passed rather than using the public `execute_sql` method. This will avoid the recursion.
