Memory: use SIMD load/stores for copies

Implemented copies of Memory objects that have size information (i.e.
not pointers to EntryType) to use dst.vector(i) = src.vector(i) loops.
Additionally I added 4-way unrolling for it to use more than a single
SIMD register for the copy. This replaces std::memcpy calls that were
there previously. Memory has more information (about alignment and
padding) that allows to implement this more efficiently.

closes #618

Signed-off-by: Matthias Kretz <kretz@kde.org>