Add ServerById() function and acceptance test.
diff --git a/servers.go b/servers.go
index 586df8d..ee67823 100644
--- a/servers.go
+++ b/servers.go
@@ -37,6 +37,20 @@
 	return ss, err
 }
 
+// See the CloudServersProvider interface for details.
+func (gsp *genericServersProvider) ServerById(id string) (*Server, error) {
+	var s *Server
+
+	url := gsp.endpoint + "/servers/" + id
+	err := perigee.Get(url, perigee.Options{
+		Results: &struct{ Server **Server }{&s},
+		MoreHeaders: map[string]string{
+			"X-Auth-Token": gsp.access.AuthToken(),
+		},
+	})
+	return s, err
+}
+
 // RaxBandwidth provides measurement of server bandwidth consumed over a given audit interval.
 type RaxBandwidth struct {
 	AuditPeriodEnd    string `json:"audit_period_end"`