Extend SQL grammar to recognise 'without rowid' tables correctly

Since version 3.8.2 SQLite supports tables without the internal rowid
column added to the table. For these tables the primary key serves as a
replacement for the rowid column.

These changes update the grammar parser to correctly handle 'without
rowid' tables and also generate 'without rowid' SQL statements.
Add tests for the new 'without rowid' parsing

Add tests for the 'without rowid' parsing in our SQL grammar added in
commit 3761acfd024d4126ac67d55ce877d493986f4aa5.
Make 'without rowid' tables browseable

Don't depend on the existance of the rowid column when using the Browse
Data tab; this means falling back to the primary key if the selected
table is a 'without rowid' table.
While still not supporting these tables very well this makes them at
least readable.