Type-safe endianness

Hello, I saw your library on hackage and liked it the best of the various endianness-related packages. However, I feel manually having to remember what values have normal endianness vs forced endianness is an unnecessary chore. This patch makes it so values converted to either endianness are wrapped in newtypes whose constructors are not exported. This ensures that all endianness is handled correctly.