Use Endpoint objects instead of endpoint dictionaries

Here, we refactor the osclients module and the
benchmark.utils.create_openstack_clients() method so that they
now work with Endpoint objects instead of dictionaries.

Change-Id: Id3518c14178af4eea53b6520bbab0fdcc7a7c2fc