Introspector: Don't strip _id unless foreign key
Closing as a roughly equivalent patch was merged instead.
This avoids stripping _id from a field name when introspecting a table,
unless that column is a foreign key.

Resolves #1799 

This is a quick hack and should probably also change the interface of `introspect()` and `generate_models()` to include some new parameter.