sqlite3: clear bindings on errors and more care with return

* call sqlite3_clear_bindings when step fails
* when a function inserts more than one row, use break instead of
  return, to avoid breaking the flow and leave invalid data binded

Signed-off-by: Adrian Negreanu <adrian.m.negreanu@intel.com>