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.


You don't have to document what values are valid, the config stuff has a neat trick:

`config :encoding, :validate => [ "hex", "base64", "base64url" ], :default => "hex"`

The docs are generated for you and validation does what you expect :)