Add setDiskAutoDelete to InstanceApi

Converts AttachDiskOptions to AutoValue.
@adriancole does it make sense for AttachDiskOptions to be done with AutoValue? I'm still trying to get used to it. 

Also I'm trying to understand the interplay of  NewInstance.Disk, AttachDiskOptions, and Instance.AttachedDisk. They seem redundant and Im wondering if that is  intentional?
do me a favor. just start a new mock class and add this there. It is a lot of work to convert the existing tests to MWS, so would help me out if there aren't new ones.