Fixed const correctness of Vector::const_iterator

This deals with #209 by making `Vector::const_iterator` actually `const`. 
This also updates some code that assumed that `const_iterator` was not `const`. 

This probably breaks some abi, but at the expense of fixing a serious bug/limitation, so I let you decide what is more important.