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
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
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 #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
Merge branch 'master' of github.com:cargomedia/CM into issue-1517