user lowercase for hex strings
add @proxy tag to Hash

this is to hide warnings of unimplemented methods
some changed to encoders
make _FixedSizedHash concrete and introduce a test