[dbapi] move ProgrammingError into cubicweb module
A new ``repoapi`` will be introduced as a replacement for the dbapi. It will
need ProgrammingError too.
Related to #2503918
option_group_changed('port', 'main', 'web')
option_group_changed('query-log-file', 'main', 'web')
option_group_changed('profile', 'main', 'web')
option_group_changed('max-post-length', 'main', 'web')