Simplify error handling

This changes the default PGError representation to use the 'M' field which should be most appropriate. 

The C field is now exported for detailed error code access.