Cursor.execute*: raise ValueError if operation is not a string
Cursor.execute*: raise ValueError if operation is not a string

This fixes the following test failure:

======================================================================
FAIL: test_CheckExecuteManyWrongSqlArg (test_dbapi.CursorTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test/test_dbapi.py", line 404, in test_CheckExecuteManyWrongSqlArg
    self.cu.executemany(42, [(3,)])
AttributeError: 'int' object has no attribute 'split'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "test/test_dbapi.py", line 409, in test_CheckExecuteManyWrongSqlArg
    self.fail("raised wrong exception.")
AssertionError: raised wrong exception.

rqlite/pyrqlite