Implement support for big endian/little endian

User must be able to select endianness and the selection will affect the way that all multibyte registers and addresses are expressed in the register map.