Fix empty bulk_create error
I noticed that attempt to insert an empty bulk to database (sqlite in my case) is causing following error:
```
Traceback (most recent call last):
  File "/home/vicrac/peewee/peewee.py", line 2946, in execute_sql
    cursor.execute(sql, params or ())
sqlite3.OperationalError: incomplete input

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/vicrac/peewee/tests/base.py", line 240, in inner
    method(self)
  File "/home/vicrac/peewee/tests/models.py", line 176, in test_empty_bulk_create
    User.bulk_create([])
  File "/home/vicrac/peewee/peewee.py", line 6016, in bulk_create
    res = cls.insert_many(accum, fields=fields).execute()
  File "/home/vicrac/peewee/peewee.py", line 1785, in inner
    return method(self, database, *args, **kwargs)
  File "/home/vicrac/peewee/peewee.py", line 1856, in execute
    return self._execute(database)
  File "/home/vicrac/peewee/peewee.py", line 2571, in _execute
    return super(Insert, self)._execute(database)
  File "/home/vicrac/peewee/peewee.py", line 2320, in _execute
    cursor = database.execute(self)
  File "/home/vicrac/peewee/peewee.py", line 2959, in execute
    return self.execute_sql(sql, params, commit=commit)
  File "/home/vicrac/peewee/peewee.py", line 2953, in execute_sql
    self.commit()
  File "/home/vicrac/peewee/peewee.py", line 2729, in __exit__
    reraise(new_type, new_type(*exc_args), traceback)
  File "/home/vicrac/peewee/peewee.py", line 183, in reraise
    raise value.with_traceback(tb)
  File "/home/vicrac/peewee/peewee.py", line 2946, in execute_sql
    cursor.execute(sql, params or ())
peewee.OperationalError: incomplete input
```
It took me some time to figure it out, so I fixed it the simplest possible way - return from method if list is empty. I added also a simple test for it (which currently passess).