Improved rand_string generation.
Merge branch 'master' of git://github.com/racker/falcon into pythonic_rand_chars

Conflicts:
	test/helpers.py
refactor(helpers): Change rand_string to be strictly a list comprehension.

Previously, rand_string depended on an iterator class RandChars to generate the
random characters. The rationale for this change is two fold.

1. Reduces code - less code, easier to maintain
2. Increases performance - fewer function calls
refactor: Rename "handler" to "resource"

RFC 2616 talks about URI's corresponding to "resources", not
"handlers". This nomenclature is also reflected in the REST
architectural style.
Merge pull request #3 from cabrera/pythonic_rand_chars

refactor(rand_string): Change rand_string to be strictly a list comprehension
refactor(Api): Remove ctx

Developers can pass shared DB connections, etc. to resource classes
when instantiating them. Since Falcon does not reinstantiate a new
class for each request, passing an extra context parameter into the
responders is not necessary.
refactor: Rename Api to API per PEP 8
chore: Remove diff file
refactor: Move HTTPError into its own module
feat(API): Raise HTTPError as a nice way to return error responses

Works with HTTPError or any child classes
fix: Preliminary Python 3 support
feat(Response): Stream large objects with minimal memory usage

Responders can now assign an iterable generator or IO stream to
resp.stream, and the expected length of the stream to resp.stream_len.
Do not set resp.body when using streams.
doc: Add usage examples
doc: Added auth example
doc: Add pretty docstrings
refactor: Moved import
refactor(API): Removed unused function params
feat(Api): Catch and log non-HTTPError exceptions thrown by responders
test(Request): Add more wsgi.error tests
feat(HTTPUnauthorized): Set WWW-Authenticate header on response