Fix internal handling of canFreeHandle on ODBCResult::New()

ODBCResult instances which are created from an ODBCStatement instance
should not be allowed to destroy themselves (or free the hSTMT to be
more specific) because the ODBCStatement can still be used to do stuff
with that hSTMT. Only ODBCResult instances that are created from an
ODBCConnection instance are allowed to actually destroy the hSTMT.

Previously, we were not properly derefencing the canFreeHandle flag
passed to ODBCResult::New() so it was evaluating to true in every case.
This was causing the ODBCResult::CloseSync() method to always destroy
the handle and thus cause the behaviour described in #32.
Fix debug messages
Test: drop tables before starting new test
0.5.5