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
Merge pull request #1450 from fauvel/issue-1450

Splittest::_getVariationFixture might assign multiple variations