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?
Making this into a MockTest was giving me more grief then it was worth. Im pretty sure it will be trivial to change once there are some more examples to go off and logistics hashed out. 

Im also happy to help with the converting to mock tests once there are some solid examples in the repo.