Prevent unaligned memory access

Certain platforms (ex: Sparc[1]) have memory alignment restrict. A
misaligned memory access will casue bus error. In order to prevent it,
several helper functions are added to access unaligned memory.

Closed #53

[1] http://docs.oracle.com/cd/E19253-01/816-4854/hwovr-2/index.html