FetchField method fails / returns incorrect data type
FetchField method fails / returns incorrect data type

1. The fetchfield method fails if a default value (-1) is sent to the
   method
2. SQL Server returns driver specific field information which should be
   used instead of the generic PDO data types
3. Field object information is cached to reduce repetitive reads of
   field data information

Fixes #251, #234

ipso/ADOdb,ipso/ADOdb