perf(Response): Improve performance of url encoding

Wrote a custom url encoder to replace urllib.quote. Slightly faster on
Python 2, substantially faster on Python 3.

Closes #134
perf(Request): Optimize percent_unescape

Do less work by checking for existence of '+' before creating a new
string, and also only decoding from UTF-8 when there is a chance
the source string has some multibyte sequences in it.
perf(Request): Optimize instantiation

This patch reduces the time it takes to instantiate a Request object
by a few microseconds by implementing lazy header parsing from the
WSGI environ.

This should not impact reading headers significantly, so this change
should be a net win.

Kudos to the OpenStack Swift team. This idea came from my research into
their swob module.

Closes #213
chore: Wheelify Falcon

See also: http://pythonwheels.com/

Closes #206
Merge pull request #218 from kgriffs/training_wheels

chore: Wheelify Falcon
Merge pull request #217 from kgriffs/lazy_header_parsing

perf(Request): Optimize instantiation
doc(Request): Fixed typo in Request.headers comment
doc: Do not use compressed website docs
Merge pull request #216 from kgriffs/optimize_url_encoding

Optimize url encoding/decoding
perf: Force Falcon to escape the query string in the benchmark

Previously, the query string in the benchmarks did not have any
percent-encoded characters. One was added in order to gauge the
performance impact of unencoding that.
perf(uri): Explicitly check for multibyte UTF-8 sequences when decoding a URI

Avoiding the decode to the `unicode` type on Python 2.7 is worth the effort!
perf: Rename "repetitions" to "trials" in falcon-bench
chore: bump version to Release Candidate 1
chore: Improve package description
chore: Make version string abide by PEP 440
chore: Fix line too long, update dev status to "stable"
fix(testing): Normalize srmock header names

This patch causes srmock to normalize header names by lowercasing them, so
tests that assert equality don't have to worry about the case-insensitive
nature of HTTP headers.

BREAKING CHANGE: This change will break any tests that are checking for
    the presence of certain headers without taking into account case
    sensitivity. I'm sorry for the short-term pain, but this patch
    will avoid this problem once and for all in the future.
fix(testing: Use a case-insensitive dict for srmock headers_dict

This patch should reduce the number of tests that will break due to the
change to returning lowercased headers from falcon.Response.
chore: Update AUTHORS. Thanks for all the fish!
test(util/uri): add property tests for decode/encode

This patchset introduces property-based testing for the new
uri-encoding utilities.

The strategy is simple and nondeterministic: ensure that the new
function give the same output as the stdlib uri encoders for all
inputs.

This gives us confidence that future modifications to these encoders
will remain correct.

Minor docstring updates are made to show users what is being modeled.