RFC: split nette database to own package

Dependencies:
- `Nette\Object` -> `composer require nette/core`
- `Nette\Utils\Strings::replace|length|truncate` -> `composer require nette/core`
- `Nette\Utils\Arrays::flatten|isList` -> `composer require nette/core`
- `Nette\Caching\*` -> `composer require nette/cache`
- `Nette\Diagnostics\*` - we wouldn't require this, it's not needed for standard behavior.
- `Nette\DI\*` - we wouldn't require this, it's not needed for standard behavior.
- exceptions

------------------------

This PR & RFC has the needed code changes to make this possible.
- The first commit splits Nette Extension to Nette Database Extension. There is small overloaded code to make it backward compatible (to load database configuration from "nette neon section")
- The second commit introduce new exceptions (BC break!)

-----------------------

Everything is untested and in the phase of brainstorming in the code.