Improve resilience to bad authorization headers

Catch IndexError when calling parse_keqv_list in
parse_authorization_header.  parse_keqv_list could raise an IndexError
exception if the header has an incomplete key=value pair.  Some examples
of this are a broken OAuth header (e.g., OAuth oauth_nonce=) and client
code that attempts to use IWA for authentication (i.e., Negotiate
b2F1dGhsaWI=).  IWA uses Base64 which may end with an "=".

Add unit tests for bad authorization headers raising ValueError.
Validate authentication header prior to parsing

Before attempting to parse the authentication header as if it OAuth,
raise ValueError if the header does not even begin with "OAuth ".  Also,
make the check case insensitive in accordance with RFC 5849 section
3.5.1.

References #186.
Use case-insensitive removal of scheme from header
style fix for setup.py. add classifiers
Merge branch 'master' of https://github.com/scfarley/oauthlib into scfarley-master
Auth scheme lower and short header test.
Merge branch 'pypi' of https://github.com/lepture/oauthlib into lepture-pypi