Moved mysql client config to the service manager

- Added simple CM_Db_LoadBalancer class for read servers
Moved mysql client config to the service manager

- Code adjustments
Merge branch 'master' of github.com:cargomedia/CM into issue-1195

Conflicts:
	resources/config/default.php
	resources/config/test.php
Merge branch 'master' of github.com:cargomedia/CM into issue-1195

Conflicts:
	resources/config/default.php
	resources/config/test.php
Dropped load balancer

- Renamed service MySql to Db
Formatting
Merge branch 'master' of github.com:cargomedia/CM into issue-1195
Merge branch 'master' of github.com:cargomedia/CM into issue-1195
Renamed DbReadOnly to DbRead
Added service DbMaintenance
Passed CM_Db_Client instance to CM_Db_Db::exec()

- Removed parameter passed to getClient($readOnly)
- Added helper methods getClientRead() and getClientMaintenance()
- Client instances not referenced on CM_Db_Db any more, but on the CM_ServiceManager instance
- Removed _getReadOnlyAvailable() and flag $config->serversReadEnabled for simplicity
- Simplified service configuration
- Adjusted usages
Rationalized usages of CM_Db_Db::getConfigDefault()

- Introduced CM_Db_Db::getClientWithoutDatabase() to cover most usages
- Used directly CM_Db_Db::getClient() in tests
Used same db connexion to quote identifiers and to execute queries

- Only concerns existsColumn() and existsIndex(), used in migration scripts
Added helper method CM_Db_Db::execMaintenance()
Removed getClientRead() and getClientMaintenance() from CM_Db_Db
Made read and maintenance db clients optional

- Removed both client configs
- Added fallback logic to CM_Db_Db
- Removed getDbRead() and getDbMaintenance() from CM_ServiceManager
- Used maintenance db if possible to generate search indexes
Added built-in fallback in CM_ServiceManager

- Possibility to pass a list of service names used as fallbacks
- Default database services implicitly used as fallback
- Adjusted usages
- Adjusted test
Only wrote verbose messages to the standard output, and the rest to stderr

- Adjusted tests
- Mocked _writeError() to spare some test output
Added read-write output streams for unit tests

- Simplified CMService_MaxMind:
- Set output stream to CM_OutputStream_Null if none given
- Removed helper methods _writeError(), _writeErrorLine() and _writeOutputLine()
- Added method _getErrorStream() for mocking
- Kept unit tests output clean in CMService_MaxMindTest:
- Used CM_OutputStream_Null as error stream
- Used CM_OutputStream_Stream_ReadWrite_TemporaryFile as output stream
Replaced CM_OutputStream_Stream_ReadWrite_* by CM_OutputStream_Stream_File