Show utf8 bytestrings as strings

This changes the implementation of `Show` for `util::ByteString` and `Bencode::ByteString` so that when they contain valid utf8 they are shown as strings. ie. `s"foo"` instead of `s[102, 111, 111]`.