Allow volumes to be updated

This allows volumes to be resized
In the original code various default properties were set in the to_xml method in volume.rb. This causes unwanted side effects when trying to use when trying to use this code to update volume properties.

For example, when updating a volume size you don't want to have the volume format changed automatically as well. You only want to have the requested volume properties changed. Therefore I moved the default properties to the add_volume method and changed the to_xml method so that it only sets properties which are really requested