Bug fix: Support unquoted profile names in cfg file

Fixes #43.  The issue was that building the list of
available profiles vs. retrieving a profile did not go
through the same code path, so there were cases where
an available profile couldn't be retrieved (for example when
the profile name was not quoted).

To fix this, available_profiles and get_config use the same
code to build a mapping of profile name -> config so that any
profile in available_profiles can be used.

Added a test to verify we properly retrieve credentials from
a profile without quotes.
Merge branch 'issue-43' into develop

* issue-43:
  Bug fix: Support unquoted profile names in cfg file
Add hooks module to botocore
Add first_non_none_response to botocore

Utility function to process responses from events.
Getting rid of the _services.json file.  Merging service region info into extra file. Modify base.get_data to generate list of available services from service description files. Modify test based on changes.
Add more docstrings/comments to session object

No functional changes.
Adding support service and bumping version number.
Merging hotfix-0.9.2
Merge branch 'develop' of github.com:boto/botocore into develop
Don't look at region vars for global endpoints

If a profile is specified, then trying to access a global endpoint
will result in an exception about the endpoint either not being valid,
or if a profile doesn't have a region, then it will complain that
there's no region set for the instance.
Merge branch 'region-profile' into develop

Closes #45

* region-profile:
  Don't look at region vars for global endpoints
Remove unused content type param

Nothing's using this in botocore or awscli anymore.
Remove get_auth function

Endpoint was the only place calling auth.get_auth so I've moved the
functionality into the endpoint module.  Instead of doing an if/else
chain, I replaced that functionality with a dictionary of auth name
to auth class.  This will make it easier for plugins/event hooks to
override this dictionary to provide their own custom auth.
Move service type mapping to module level

This will make it easier for event hooks to modify this
dict.  We also don't need to create this dict everytime
we call get_endpoint.  There was a redundant NotImplementedError
exception that would never be raised which I've removed.  We
want the UnknownServiceStyle exception anyways.
Make build_endpoint_url method internal

Only used internally within the Service class.
Add event hook to botocore session object
Add event emission to pre/post operation

A handler can subscribe to pre/post operations.
Adding emit method to session to support this (event
emission still happens through the session).
Add docs for events
If an event hooks object is passed in, use it
Merge branch 'events-integration' into develop

* events-integration:
  If an event hooks object is passed in, use it
  Add docs for events
  Add event emission to pre/post operation
  Add event hook to botocore session object
  Make build_endpoint_url method internal
  Move service type mapping to module level
  Remove get_auth function
  Remove unused content type param