ietfparse.headers: Add Content-Type parser.
ContentType: Add __str__ and __repr__.
ContentType: Add __eq__.
parse_content_type: Add RFC 7231 examples.

Forced me to address the fact that content type parameter values
are listed as case-insensitive in section 3.1.1.1 of RFC 7231.
As noted in the code, RFC 2045 mentions that there are cases where
parameter values are case preserving.  A new keyword parameter was
added to address this.
ContentType: Strip type/subtype values.

This was exposed whilst testing accept header parsing.
ContentType: Implement ordering.
ietf.headers: Add parse_accept_header.
ietfparse.headers: Fix parse_http_accept_header.

Found a small defect in the guts of parse_http_accept_header
while I was writing the content negotiation matching algorithm.
Document header processing.
ietfparse.algorithms: Add select_content_type.
ietfparse: Create datastructures module.
ietfparse: Make headers a module instead of package.
setup.py: Implement a useful `clean` command.
changelog.rst: Mention datastructures module.
docs: Split api.rst into separate parsing and processing docs.
ietfparse: Split out errors into a module.
ietfparse.headers: Fix PEP8 violation.
setup.py: Move Janitor command into setupext.py
Add CONTRIBUTING.rst.
Merge pull request #1 from dave-shawley/add-headers-module

Implement content negotiation