Implement Hashed5 type representation (#36)

Due to the bit-twiddly nature, the current implementation still feels a
little ad-hoc. Maybe I just need to convince myself of its correctness,
maybe some more tests are in order. In particular, all the bit masking
seems somewhat brittle and should be looked over again.
Implement Hashed5 typechecking, add smart constructor
Merge Hashed5 branch (#36)

Conflicts:
	changelog.md
	src/Data/Binary/Typed/Internal.hs