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.