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?
I have an answer -sidebar food for thought please don't hold up danny :)

In blobstore, we have a thing that doles out names. This helps us be able
to run multiple tests with the same account.

String thingName = TestNames.get(deleteFunction);

Then every time we ask for something that is junk, we also say how to
delete it. It places responsibility on the call site to think about how to
get rid of this thing.

Feel free to bump to dev@