Updated patch for Issue 45

This is simply a refresh of Marc's patch. It still needs deciding if changes to pymssql.pyx exception handling need to be extended and tests although testing fully might prove a bit hard.

Simple testing with Python 2 seems to indicate the changes in the information reported to the use when an exception condition is generated actually do work.