[bugfix] Fix two bugs in TransformedRangeView and TransformedRangeIterator
- Properly forward r-value references of functions to
enable move-construction for function stored in
TransformedRangeViewwhere possible. - Fix and test
operator->inTransformedRangeIterator. For transformations returning l-value references, the operator did a copy, such thatit->foo()and(*it).foo()act on different objects. The fix is to correctly forward the l-value reference to the proxy-object returned byoperator->.