Extract  interaction with config.php

* introduce SystemConfig to avoid DI circle (used by database connection which is itself needed by AllConfig that itself contains the methods to access the config.php which then would need the database connection - did you get it? ;))
* use DI container and use that method in legacy code paths (for easier refactoring later)
* create and use getSystemConfig instead of query() in DI container
add @deprecated messages
use old methods and redirect in deprecated methods
migrate AllConfig app related methods to DI
migrate \OC\AllConfig to \OCP\IConfig
replace all occurences of OC_Preferences in core

* replace by call to the DI container
drop unused isDebugMode and setDebugMode of OC_Config
fix base.php for not installed systems
use DI container in status.php
re-init the database connection after autoconfig is loaded - otherwise SQLite will break
drop unused OC_Preferences::getUsersForValue
drop unused OC_Preferences::deleteApp
Refactoring of OC_Preferences to AllConfig

* keep old static methods - mapped to new ones and deprecated
* removed deleteApp because it is unused
remove OC_Preferences from encryption migration
fix typo and fix possible issues of the change of the default value