Fix appveyor build after a4751fe7 (#402)
The MSVC vector debug checks don't like accessing the address of the end
of the vector, even if you never read the value -- we were doing this
when writing a size of 0 in MemoryWriter::{Write,Move}Data.
Also fixed some CMake warnings.