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