Update requirements.
Remove base64 encoding/decoding.

As far as I can reason, it’s completely unnecessary, and moreover would
break Postgres compatibility in terms of internal db functions. If we
do need some sort of armoring, we’ll use PGP’s armor/dearmor functions,
which have pgcrypto equivalents.
Remove unreachable return.

Was still here just in case I ever became stupid enough again to think
that returning data when I didn’t actually know what data to return was
a good idea.
Remove unnecessary assignments.
Properly handle encryption/decryption of byeta

We used to coerce all data to the text representation and then run it
through decode, but you can’t do that with bytea due to the way
conversions between bytea and text are handled by Postgres. So we’ve
had to add some special case handling for the type. All other types
should be fine, however, as they’re all guaranteed to have text
representations.