Fixes for postgresql integration tests.

Added concept of unmodfiable data types.
Type like int4 should not have a size specified.
E.g. int4(10) is invalid

Refactored the code for reading a default value.
Using a Scanner as it provides easy methods to check if a value is valid.
Added check for whether a BIT value is actually a string of value 'true' or 'false.
This is the case in postgresql.