Added const correctness to ranges

Still a bug with range-range assignment (as seen in reversed()) that needs to be fixed