Rework row fetching

Whilst checking the performance implications of #158 it was noted that
there was a rather large amount of type conversion occuring when
fetching a row from pymssql. The number of conversions required have
been cut down significantly with these changes.

For a tuple row it is changed from:

tuple -> dict -> dict -> tuple to tuple

And for a dictionary:

tuple -> dict -> dict to dict -> dict

The additional dict->dict conversion could be dropped with either
additional arguments being passed to _mssql so it doesn't add the
positional mappings to the dictionary. I didn't want to break the _mssql
module just incase.

Didn't mean to include your commit, oops. Will that be an issue?