Adds sample config file generation script

Having this script placed in oslo will let projects avoid implementing
their own sample generation script.

Change-Id: Ifed266ef65aee72da2e16ff30b7bde1e834650da
Add exceptions for OpenStack clients

These exceptions can be used in novaclient, keystoneclient,
glanceclient, and other client projects.

Concept of this file comes from cloudservers/exceptions.py
and novaclient/exceptions.py. HTTP exceptions were rewritten.

Partially implements: blueprint common-client-library

Change-Id: I9e17d855f7c26284ce66b13515aa4a0b8855347a
Avoid shadowing Exception 'message' attribute

The Exception class has a 'message' attribute:

  >>> Exception('foo').message
  'foo'

however, we follow a pattern that results in the attribute being
shadowed by a class attribute:

  >>> class MyException(Exception):
  ...     message = 'Foo %s'
  ...     def __init__(self, bar):
  ...         message = self.message % bar
  ...         super(MyException, self).__init__(message)
  ...
  >>> MyException('bar').message
  'Foo %s'

whereas, we obviously want behaviour like this:

  >>> class MyException(Exception):
  ...     msg_fmt = 'Foo %s'
  ...     def __init__(self, bar):
  ...         message = self.msg_fmt % bar
  ...         super(MyException, self).__init__(message)
  ...
  >>> MyException('bar').message
  'Foo bar'

Avoid this shadowing by using 'msg_fmt' as the name of the class
attribute. Add a test which fails without this fix.

Change-Id: I304f31edec20b1293cf6c8de931415590fde6752
Migrate sqlalchemy utils from Nova

These utils are useful for database schema migrations
and can be reused in other projects.

Blueprint: oslo-sqlalchemy-utils

Change-Id: Ie54fcd5d75de05b48cca8b86c19325d7327f39cd
Add .testrepository to .gitignore

Add .testrepository to .gitignore

Change-Id: I9c9eaace4fd5d42786cf73d93bfdf525a24af8ff
Signed-off-by: Chuck Short <chuck.short@canonical.com>
Merge "Adds sample config file generation script"
Merge "Avoid shadowing Exception 'message' attribute"
Merge "Add exceptions for OpenStack clients"
Merge "Add .testrepository to .gitignore"
Add maintainer for apiclient

Change-Id: Iabdb302eb530f74c6965077dfe1abb8b24cf73fe