Check service_name of endpoints against service_name, if any, provided in constructor

The original code from ruby-openstack-compute checked the response
data to ensure that selection of the appropriate endpoint was
based on the service_name provided to the constructor if it was
actually provided.

This logic is necessary in order to work with the Rackspace
implementation of Openstack.  It returns 3 'compute' endpoints.
If you also specify the region, the first 'compute' endpoint
returned will cause an exception to be raised.