clean up AttachOpts type

Primarily, there is no reason to have a pointer to a map. Furthermore,
make() can be used on AttachOpts directly.
Merge remote-tracking branch 'dominikh/improve-attachopts'