fix(Request): Improve parsing of application/x-www-form-urlencoded

This patch adds error handling for non-ASCII form request bodies. If
an improperly-encoded request is submitted, Falcon will log a message
to the WSGI error log and ignore the request body.

The docstring for Request was updated to provide more information
regarding Falcon's parsing of application/x-www-form-urlencoded,
especially regarding the client's responsibility to properly
encode the request body.

Closes #313
fix(Request): Be more lenient regarding query string param names

This patch allows a wider variety of characters to be used in
query string params, while also slightly improving the performance
of parsing the same.
* Refactor internal APIs to allow overriding traversal by subclasses.  This
  enables subclass implementations to provide e.g. restish-style object-based
  traversal.

* Add a `params` property which gives access to the full POSTed parameter list.

* Handle the case where a form POSTs keys multiple times.  This is a more
  common way of doing multiple values for a single key.  Thus these two forms
  are semantically equivalent:

  key=1,2,3
  key=1&key=2&key=3
Merge pull request #307 from warsaw/refactor

Internal refactoring and a few other changes to support restish-ish traversal
chore(AUTHORS): Add Barry and Jeffrey. Thanks guys!
Merge pull request #316 from kgriffs/issues/313

fix(Request): Improve parsing of application/x-www-form-urlencoded
Merge pull request #317 from kgriffs/qs_parsing

fix(Request): Be more lenient regarding query string param names
fix(Request): Unify behavior of get_param for lists

This patch changes get_param so that it behaves the same whether a
list was specified in the query string using the HTML form style (in
which each element is listed in a separate 'key=val' field) or in
the more compact API style (in which each element is comma-separated
and assigned to a single param instance, as in 'key=val1,val2,val3').

Closes #312
Merge pull request #320 from kgriffs/issues/312

fix(Request): Unify behavior of get_param for lists
feat(Response): Add convenience method for setting stream and length

This adds a convenience method, set_stream(...), to the Response class
for setting the stream and its length at the same time, which should
help people not forget to set both and maybe save some typing as well.
feat(Request): Add client header check for msgpack

Add convenience methods for msgpack to Request.

Signed-off-by: kgriffs <kurt.griffiths@rackspace.com>
Merge branch 'peoplemerge-msgpack'
chore(AUTHORS): Add peoplemerge. Thanks for contributing!
Merge pull request #318 from kgriffs/stream-improvements

feat(Response): Add convenience method for setting stream and length
doc: Add mailing list info