Cursor._substitute_params: raise ProgrammingError, not InterfaceError
Cursor._substitute_params: raise ProgrammingError, not InterfaceError

This fixes the following test error:

======================================================================
ERROR: test_CheckExecuteWrongNoOfArgs1 (test_dbapi.CursorTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test/test_dbapi.py", line 248, in test_CheckExecuteWrongNoOfArgs1
    self.cu.execute("insert into test(id) values (?)", (17, "Egon"))
  File "pyrqlite/cursors.py", line 106, in execute
    operation = self._substitute_params(operation, parameters)
  File "pyrqlite/cursors.py", line 93, in _substitute_params
    (len(parts) - 1, len(parameters), operation, parameters))
sqlite3.InterfaceError: incorrect number of parameters (1 != 2): insert into test(id) values (?) (17, 'Egon')

rqlite/pyrqlite