Added quoting identifier in runtime. Removed uppercased field names.

Fixes #647
Fixed #737
Fixed #706
Removed also TYPE_RAW_COLNAME as it is not in use and is useless.

Allows to use identifier quoting now everywhere, also in columns. It's disabled per default and can be activated by `<database identifierQuoting="true">` or per table `<table identifierQuoting="true">`.

The adapter itself doesn't know anymore whether identifier should be quoted or not. Criteria has now this information. When ModelCriteria is used then the information will be retrieved from the set TableMap if its not set explicitly. For the command `migrate:diff` it's enabled per default regarding the reversed database side, not the database of user's schema.xml. This behavior can be disabled by `--disable-identifier-quoting`. There's no configuration option anymore in the regular config file. Quoting in query classes, object classes and sql generation depend now on `Table::isIdentifierQuoting()` or `TableMap::isIdentifierQuoting()`.


- [ ] Write more tests
there are no such things like column constants anymore. that brought us the hell with not being able to quote columns, we are using now the real column name instead.