Fixup pull request for issue #54

Added test for the issue which is lacking assertions
ThrowException instead of returning the error object
Keep looping and emitting errors if encountered when calling moreResultsSync()
0.5.31
Fix blank result in ODBC::GetSQLError

It seems with MSSQL at least, SQLGetDiagField needs to be called with
record number 0 when retrieving header fields such as the error count
(even though the documentation states that the record number is
ignored). This stops SQLGetDiagField returning SQL _ERROR and thus
numfields being uninitialized.