fix coverage script from masking unit test failures (#265)

* add 'set -e' line to fail on error

* create Unmarshal method for DefaultSecRule

* fix portsbinding 'update' unit test

* go fmt

* remove line from debugging
diff --git a/openstack/compute/v2/extensions/defsecrules/results.go b/openstack/compute/v2/extensions/defsecrules/results.go
index 61b918d..f990c99 100644
--- a/openstack/compute/v2/extensions/defsecrules/results.go
+++ b/openstack/compute/v2/extensions/defsecrules/results.go
@@ -1,6 +1,8 @@
 package defsecrules
 
 import (
+	"encoding/json"
+
 	"github.com/gophercloud/gophercloud"
 	"github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/secgroups"
 	"github.com/gophercloud/gophercloud/pagination"
@@ -10,6 +12,16 @@
 // normal security rule.
 type DefaultRule secgroups.Rule
 
+func (r *DefaultRule) UnmarshalJSON(b []byte) error {
+	var s secgroups.Rule
+	err := json.Unmarshal(b, &s)
+	if err != nil {
+		return err
+	}
+	*r = DefaultRule(s)
+	return nil
+}
+
 // DefaultRulePage is a single page of a DefaultRule collection.
 type DefaultRulePage struct {
 	pagination.SinglePageBase