Refactored metadata methods, validation messages, database driver, exception handling etc.

Refactored metadata methods.
Throw exception in case of fatal error, not log.
Refactored handling of validation messages, now model and fields do not
dependent on core\Messages.
camelize()->camelcase(), uncamelize()->underscore(), humanize() ->
human()
Refactored PostgreSQL specifics into separate driver.