Fixes LP Bug#899383 - Cleanup config file search

Cleans up a bunch of configuration-related errors
when trying to run tempest out of the box with a
simple call to:

$> nosetests storm

* Raises a sensible error if the config file cannot be found
* Makes it possible to set the config file directory and
  config file name via environment variables
* Removes unnecessary calls to create storm.config.StormConfig()
  and share a configuration object by passing the openstack.Manager's
  config object with the various rest client objects
* Updates the README to show how to make a config file and run
  the tests in tempest

Change-Id: I60e33595b88df596cc9585bcaf18d37ae77d6f2b
diff --git a/storm/exceptions.py b/storm/exceptions.py
index 93ffa91..9290cf7 100644
--- a/storm/exceptions.py
+++ b/storm/exceptions.py
@@ -16,3 +16,10 @@
 
     def __str__(self):
         return repr(self.message)
+
+
+class AuthenticationFailure(Exception):
+    msg = ("Authentication with user %(user)s and password "
+           "%(password)s failed.")
+    def __init__(self, **kwargs):
+        self.message = self.msg % kwargs