change all time fields to have type time.Time (#190)

* add Volume.Unmarshal

* add volumetenants.VolumeExt.Unmarshal

* create servers.Server time.Time fields

* json.Unmarshal can correctly handle time.RFC3339 (Server time fields)

* add v3 Token UnmarshalJSON method

* check for empty string when unmarshaling time

* add Member UnmarshalJSON

* v3 tokens.Token ExtractInto

* v3 trust.Trust UnmarshalJSON

* time.Time fields swift response objects

* time.Time fields for orchestration response objects

* time.Time fields for shared file systems response objects

* if we don't use pointers for the custom time fields, we don't need to check if they're nil

* style guide fixes: 'r' for receiver, 's' for struct

* remove unnecessary pointers from UnmarshalJSON methods
diff --git a/openstack/blockstorage/extensions/volumetenants/results.go b/openstack/blockstorage/extensions/volumetenants/results.go
index 0d4c670..b7d51c7 100644
--- a/openstack/blockstorage/extensions/volumetenants/results.go
+++ b/openstack/blockstorage/extensions/volumetenants/results.go
@@ -1,7 +1,12 @@
 package volumetenants
 
-// An extension to the base Volume object
+// VolumeExt is an extension to the base Volume object
 type VolumeExt struct {
 	// TenantID is the id of the project that owns the volume.
 	TenantID string `json:"os-vol-tenant-attr:tenant_id"`
 }
+
+// UnmarshalJSON to override default
+func (r *VolumeExt) UnmarshalJSON(b []byte) error {
+	return nil
+}