Implemented a retry to get the right split test variation in race conditions

- Used a recursion pattern to avoid code duplication
- Thrown exception if the insert fails a second time to avoid endless loops
Docu
Merge branch 'master' of github.com:cargomedia/CM into issue-1450
Make adprovider zone configuration site specific
Cache configuration on instance
Fixed concurrency and local cache invalidation issues

- Refreshed fixture variation list if the insert fails = if the local cache was outdated due to multiple web servers and/or concurrency issues
- Added unit test
Cache adprovider zones in local cache
No need to pass type
Small refactoring

- Renamed "refresh" to "updateCache" for clarity
improve .button-default-active
Added primary key to cm_splittestVariation_fixture

- Added migration script
- Adjusted schema
Merge pull request #1507 from dlondero/issue-1507

Breaking: Make adprovider zone configuration site specific
Merge pull request #1516 from christopheschwyzer/issue-1516

Adjust .button-default-active in form.less
Merge pull request #1450 from fauvel/issue-1450

Splittest::_getVariationFixture might assign multiple variations
Merge pull request #1496 from fauvel/issue-1496

Add a primary key to the cm_splittestVariation_fixture table
Add test for log aggregation
Merge pull request #1520 from njam/log-aggregate-test

Add test for log aggregation
Fix double 'popstate' fire in Safari8.
Adjusted KickBox client for API changes

- The fields "disposable" and "accept_all" are now booleans
- Adjusted tests
Merge pull request #1523 from fauvel/issue-1523

Adjust KickBox client for API changes