Added Guarded index version of MemReusingVector

Experimental yet, but seems to work. The sizes of the indices, etc must
be revised though, to handle 32/64 bit smoothly.