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.
fix(Request): Empty value in query string should not be parsed into None

Before this patch, a query string such as "foo=1&foo=&foo=44" would
be parsed into [('foo', '1'), ('foo', '44')] and subsequently folded
into: params['foo'] = ['1', '44']. However, the equivalent list
expressed using the comma-delimited "API" convention "foo=1,,44" would
result in ['1', None, '44'].

This patch normalizes the behavior between the two different list
conventions.

BREAKING CHANGE: When using the comma-delimited list convention,
    req.get_param_as_list(...) will no longer insert placeholders,
    using the None type, for empty elements. For example, where
    previously the query string "foo=1,,3" would result in
    ['1', None, '3'], it will now result in ['1', '3'].

Closes #314
doc: Function _generate_id() in the tutorial is not py3k compatible

This patch modifies the function to just generate a UUID, which will
work for both Python 2 and Python 3.

Closes #304
doc: Quickstart example doesn't work on Py3K due to json.load

json.load in Python 3 no longer accepts an encoding parameter (or bytes),
so the example was reworked to read the bytes, decode them, and then parse
as JSON in three separate steps.

Unfortunately, doing something like this was found not to work:

    json.load(io.TextIOWrapper(req.stream, 'utf-8'))

The reason is that it requires req.stream to implement io.IOBase but at
least in the case of uWSGI's Body class that is used for wsgi.input, the
'readable' attribute is not implemented. Falcon could patch wsgi.input to
provide this, but that would add an extra layer of abstraction that may
have performance implications (TBD).

Closes #275
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
Merge pull request #322 from kgriffs/issues/314

fix(Request): Empty value in query string should not be parsed into None
Merge pull request #323 from kgriffs/issues/304

doc: Function _generate_id() in the tutorial is not py3k compatible
Merge pull request #327 from kgriffs/issues/275

doc: Quickstart example doesn't work on Py3K due to json.load