How to encode and decode binary data as MIME parts with Content-Disposition headers in Go?