Fix some warnings and an error by GCC 4.7

The include <cstddef> for std::size_t was missing.
Braces were missing in std::array initializations.
Signed integers were compared with unsigned ones.

I did not correct the mistake in Cipher.cxx:27 GCC warns about when optimization is enabled.

Cipher.cxx: In function ‘void ShiftRows(state_type_reference, bool)’:
Cipher.cxx:27:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]