add type annotation to hlint ignore

`cabal repl` complains about the HLint annotation pragma, probably
due to OverloadedStrings.  Add a type annotation to keep cabal
happy.
use shorter qualified imports of bytestring
extract base64 pad/unpad functions
remove hacky 'encodeS' function
optimise 'signingInput' generation

Remove the hacky 'encodeO' function and change signingInput to
return a strict bytestring, reducing the size of inputs to the O(n)
'toStrict' operations.