Test case for RowID + insert_many bug
There's some chicanery going on with Peewee in regards to implementing the `rowid` field. I'll take another look at the implementation and see if I can clean it up.
 Thanks! Yes, the field gets removed here: 
https://github.com/coleifer/peewee/blob/master/playhouse/sqlite_ext.py#L90

Do extension tests not get run by the CI? In theory the build should have failed. (I had to add `from playhouse.tests.test_sqlite_ext import *` to `tests.py` get them to run locally).
 > Do extension tests not get run by the CI?

They should be getting run. The .travis.yml file specifies `./runtests.py -a` which includes all extensions (except those for which a dependency is missing, which shouldn't be the case for the sqlite extension tests).
 Yes, looks like they ran there and passed. I suspect it's because some code paths don't get executed on the CI, for instance:

``` python
    insert_many = sqlite3 and sqlite3.sqlite_version_info >= (3, 7, 11, 0)
    # ...
    def execute(self):
        insert_with_loop = (
            self._is_multi_row_insert and
            self._query is None and
            self._returning is None and
            not self.database.insert_many)
        if insert_with_loop:
            return self._insert_with_loop()
```

Anyway, with the lastest master everything works as expected and I can remove my workaround, thanks!

This is the problem I mentioned in #971. Not sure how to fix this properly, for now just added a bunch of tests to document the problem. The first two tests pass, only the last one fails.

```
Traceback (most recent call last):
  File "/Users/jan/projects/peewee/playhouse/tests/test_sqlite_ext.py", line 818, in test_insert_many_with_rowid_with_field_validation
    RowIDModel.insert_many([{RowIDModel.rowid: 5, 'data': 1}], validate_fields=True).execute()
  File "/Users/jan/projects/peewee/peewee.py", line 3351, in execute
    cursor = self._execute()
  File "/Users/jan/projects/peewee/peewee.py", line 2747, in _execute
    sql, params = self.sql()
  File "/Users/jan/projects/peewee/peewee.py", line 3319, in sql
    return self.compiler().generate_insert(self)
  File "/Users/jan/projects/peewee/peewee.py", line 1960, in generate_insert
    for row_dict in query._iter_rows():
  File "/Users/jan/projects/peewee/peewee.py", line 3271, in _iter_rows
    validate_field(key)
  File "/Users/jan/projects/peewee/peewee.py", line 3261, in validate_field
    raise KeyError('"%s" is not a recognized field.' % field)
KeyError: '"<playhouse.sqlite_ext.RowIDField object at 0x102dc81d0>" is not a recognized field.'
```
