Replace bespoke EncodeJson/DecodeJson instances for collections with derived ones

Replace bespoke collection EncodeJson and DecodeJson instances with ones derived via the collection `Builder` and `IsTraversableOnce` machinery, effectively covering all collection types.