gom: Add support for UNIQUE constraint on columns

https://bugzilla.gnome.org/show_bug.cgi?id=729722
tests: Ensure the UNIQUE constraint works

https://bugzilla.gnome.org/show_bug.cgi?id=729722
gom: Improve SQLite error reporting

Telling the user that a statement failed because:

    Failed to execute statement: 19

is not very useful.

However, this is much better:

    Failed to execute statement: UNIQUE constraint failed: items.email

https://bugzilla.gnome.org/show_bug.cgi?id=729722