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
add comma to the set of safe characters in urls
Merge pull request #191 from masci/comma_safe_for_urls

Add comma to the set of safe characters in urls
style fix for setup.py. add classifiers
Add token_generator param to pre-configured Server. #192.
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
Revert back to inline string for Licence. See #81.
0.5.0