Encoding works
Make encode and decode static
Decode now works
Decode invalid data now returns absent
Clean up and document
Merge remote-tracking branch 'origin/derk-parity' into derk