Reimplement parts of decoded_content(%opts) as discussed in #3.

opts = {
  encoding => ?
  force    => ?
  fallback => ?
}

`encoding` sets the default encoding in cases where one cannot be
detected.

`force` overrides detection and uses the specified encoding.

`fallback` takes an Encoding.pm fallback value and defaults to
FB_DEFAULT

{ encoding => undef , force => 1 } and { force => 1 } both presently
revert `decoded_content` to work the same as `content`.

Fixup code
Update test with new syntax, and cover the 3 kinds of defaulting/forcing