Better parameter and state validation in GetColumnValue
Fix bug in FetchMoreData where the result buffer offset was being incremented twice.
Add test for GetColumnValue (async)

TODO: Fix behaviour of maxBytes for strings (should really be maxChars),
maxBytes is pretty useless for strings when you don't know if the
underlying representation is unicode or utf-8.
Fix assertion on NULL in GetColumnValue

Caused by FetchMoreData not passing on SQL_NULL_DATA