Problem with InsertQuery() returning AutoIncremented value
Hey @odonnellryan no need to apologize, thank you for opening the issue.  It seems to me that this would be addressing the effect rather than the cause, which is that your model does not have `auto_increment` set to `True`.  Do you mind sharing the model definition that is causing this problem?

For a small example why I don't like returning the `lastrowid` -- consider if you're using a non-integer primary key... In the following code we insert a row, and give it a primary key of `"one"`, but sqlite will return the rowid as `1` (since it is the first row inserted into the table).

``` python
In [1]: import sqlite3

In [2]: conn=sqlite3.connect(':memory:')

In [3]: curs = conn.cursor()

In [4]: curs.execute('create table foo (id text primary key, data text
Out[4]: <sqlite3.Cursor at 0x21e41f0>

In [5]: res = curs.execute('insert into foo (id, data) values (?, ?)', ['one

In [6]: res.lastrowid
Out[6]: 1
```
 Closing pending feedback from @odonnellryan 

I couldn't get InsertQuery to return the AutoIncremented value upon an Execute. It has (only) returned None for me.

Seems to be a problem with this if statement:

if model._meta.auto_increment:

I've replaced it with:

`def last_insert_id(self, cursor, model):
        if not cursor.lastrowid:
            return None
        return cursor.lastrowid`

WARNING/DISCLAIMER: I haven't tested this solution, or am I an expert at Python (by any stretch of the means).

If you believe I'm doing something horribly wrong, please correct me. lastrowid will return 0 value if it can not return the autoincremented value, from what I can tell.

I apologize if I'm mistaken here! New to the open source community. 

Thanks for writing such a great library, guys!
