Improve new String operations introduced in #843.

- Fix substring
- Push string operations up to RelationalDriver
- Use default JDBC escape functions in JdbcStatmentBuilderComponent
- Document the missing capabilities
- Support indexOf in DerbyDriver and SQLiteDriver
- Support reverse in AccessDriver
- Use proper Option-mapped Column types for all operations
- Simplify and speed up the tests

Supersedes #859. Review by @cvogt 
Why don't we detect foldable constants instead of this explicit syntax?