Added optional base64 and base64url encoding options to fingerprint.

Added a new configuration parameter named `encoding` that allows fingerprint hash values to be created using a more compact base64 encoding in addition to the default hex encoding. Both standard base64 (`base64`) as well as URL and file name safe base64 encoding (`base64url`) are supported.


Will change the validation. I did only add the encoding option it for the hash functions generating hex strings as these can benefit from being more compact. The other methods looked more specific in nature and I could not see any reason to allow altering encoding of these.