Make the addition of the DataSource interface backwards compatible

The addition of the DataSource interface originally changed the signature
of `Bencode::decode` to use a type hint. This broke backwards compatibility
(the function previously took a string) and was clunky to use. This change
implicitly converts non-DataSource inputs to `DataSource\String`.