Implement switchPath property for Repetition component.
When switchPath specified, set iteration template in _createIteration.

Tests needed.
Add second test.
Failing attempt to implement more comprehensive test.
Another failed attempt. Throws an error:

Uncaught TypeError: Cannot call method 'getObjectByLabel' of undefined compile-evaluator.js:41
compilers.component compile-evaluator.js:41
(anonymous function) compile-evaluator.js:297
compile.semantics.compile compile-evaluator.js:296
argCompilers.if compile-evaluator.js:187
evaluate evaluate.js:20
pathPropertyDescriptors.getPath.value paths.js:21
exports.Repetition.Component.specialize._createIteration.value repetition.js:1009
exports.Repetition.Component.specialize.handleOrganizedContentRangeChange.value repetition.js:1214
exports.Repetition.Component.specialize._setupIterationTemplate.value repetition.js:858
exports.Repetition.Component.specialize._handleSetupRequirementsChange.value repetition.js:746
pathPropertyDescriptors.addPathChangeListener.value.emit paths.js:147
replaceObserver observers.js:1539
uniqEmit observers.js:1514
replaceValue observers.js:1414
replaceObserver observers.js:1539
propertyChange observers.js:64
(anonymous function) property-changes.js:178
PropertyChanges.dispatchOwnPropertyChange property-changes.js:168
PropertyChanges.dispatchOwnPropertyChange property-changes.js:415
splice array-changes.js:170
(anonymous function) shim-array.js:148
rangeChange observers.js:1488
(anonymous function) range-changes.js:117
(anonymous function) range-changes.js:113
(anonymous function) generic-collection.js:42
Dict.reduce dict.js:123
GenericCollection.forEach generic-collection.js:41
RangeChanges.dispatchRangeChange range-changes.js:88
splice array-changes.js:168
(anonymous function) shim-array.js:148
rangeChange observers.js:446
rangeChange observers.js:1107
(anonymous function) range-changes.js:117
(anonymous function) range-changes.js:113
(anonymous function) generic-collection.js:42
Dict.reduce dict.js:123
GenericCollection.forEach generic-collection.js:41
RangeChanges.dispatchRangeChange range-changes.js:88
splice array-changes.js:168
(anonymous function) shim-array.js:148
rangeChange observers.js:396
rangeChange observers.js:1107
(anonymous function) range-changes.js:117
(anonymous function) range-changes.js:113
(anonymous function) generic-collection.js:42
Dict.reduce dict.js:123
GenericCollection.forEach generic-collection.js:41
RangeChanges.dispatchRangeChange range-changes.js:88
splice array-changes.js:168
set array-changes.js:185
replaceValue observers.js:172
propertyChange observers.js:64
(anonymous function) property-changes.js:178
PropertyChanges.dispatchOwnPropertyChange property-changes.js:168
PropertyChanges.dispatchOwnPropertyChange property-changes.js:415
PropertyChanges.makePropertyObservable.propertyListener.set property-changes.js:288
expandComponent repetition.js:796
loadComponentTree component.js:1092
(anonymous function) component.js:1099
_fulfilled q.js:798
Promise.then.self.promiseDispatch.done q.js:827
promise.promiseDispatch q.js:760
(anonymous function) q.js:574
flush q.js:108
Make switchPath relative to iteration.
A fail attempt to make switchPath that depends on iteration work.
Remove unused code.
Chicken egg problem. iteration.object is null before creating iteration template.
Evaluate path at _iterationCreationPromise.
switchPath finaly works for :iteration!