always encode signature components using exactly 224 bits

Previously, signature components with 8 or more leading zero bits were encoded into fewer than 28 bytes, causing the Coinfloor API to reject the signature with the message "base64-encoded value has unexpected length". This commit fixes the encoding so that it always uses 28 bytes, regardless of the particular values being encoded.