Change bencode to be overloaded function

- Allow nesting of bencodable types
- Fix issues with mixed types or regular types like [String]