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
WIP commit
Adding tests for parsing of error responses.  Also modified response.py to try to unify the structure of all XML error responses.
Allow unsigned requests if signature_version is unset
Merge branch 'lsegal-unsigned_requests' into develop

Closes #42

* lsegal-unsigned_requests:
  Allow unsigned requests if signature_version is unset
Reorganizing response parsing test data.  Adding ability to test JSON responses.  Also added code to change JSON error response format to more closely match XML format.
Merge branch 'develop' of github.com:boto/botocore into develop
Change to search for region to use in get_endpoint.  If a service has a global endpoint that endpoint will now be used only if no region was specified or if the service is unavailable in the specified region.  Otherwise, the region provided by profile, env var, or command line option will be used.  Fixes https://github.com/aws/aws-cli/issues/90
Change type of Output for GetConsoleOutput to be blob.  Add support for blob type in response handler.
Fixing unit test for get-console-output.