On ARM data can only be written to or read from memory at full words

The database storage structs members are now aligned to those
word-boundaries and the loading code takes care of that new alignment.
This obviously wastes some memory that wasn't wasted before.

Note: Data *can* be written or read at other addresses too, but that
comes at the cost of performance and additional application logic.