Make VariableBlockVector::CreateIterator an actual STL output iterator
The class VariableBlockVector::CreateIterator behaves basically like an STL output iterator, but it didn't quite implement the required interface. This patch adds the missing methods and extends the unit test.
The main benefit of this (besides interface beauty) is that you can now use std::fill etc. to set the block sizes of a VariableBlockVector.