feat(API): Add middlewares to falcon API

A list of Middleware classes can be added to falcon WSGI as keyword arg in API
A middleware will be executed always with every request/response dispatched.
A middleware can define process_request or process_response or both.
Arguments are the same as hooks and error_handlers.
When exception happens, the response middleware corresponding to already executed
process_request mw will be executed
Merge pull request #329 from ealogar/feature/middlewares

feat(API): Add middlewares to falcon API
perf(Request): Cache native stream check

Avoid having to call isinstance every time a new Request object
is initialized. Use a flag that can be set after the first time
this check is made, so that thereafter a simple boolean operation
is required instead of having to call the more costly isinstance
function.
Merge pull request #363 from kgriffs/cache_wsgiref_check

perf(Request): Cache native stream check
chore(AUTHORS): Added ealogar. Thanks for contributing!
refactor(API): Move helpers to API class

Calling methods using self. is slightly faster than calling them
from a separate module or even in the same module without using
the self param.

The helpers for Request and Response were not moved because they
are either used for defining properties at import time or are
not on performance-sensitive code paths.

Closes #355
Merge pull request #365 from kgriffs/issues/355

refactor(API): Move helpers to API class
perf(API): Tune middleware execution

Improve performance of interating through middleware components by
performing the getattr lookups ahead of time. Also push and pop from
the tail of the middleware stack, rather than the head, since that
is more efficient for the underlying list type.
Merge pull request #367 from kgriffs/0.2-tuning

perf(API): Tune middleware execution
refactor(API): Remove staticmethod

Convert static methods to regular class methods so it is more natural
when calling eachother and because staticmethod does not yield
a significant performance improvement.
Merge pull request #368 from kgriffs/chore

refactor(API): Remove staticmethod
doc(API): Improve middleware and req_options docs

Expand middleware documentation and add API.req_options docs to the
API reference.
Merge pull request #371 from kgriffs/chore

doc(API): Improve middleware and req_options docs
refactor(API): Distinguish between different types of helpers

Divide the helper methods into three groups:

1. Internal functions that are specific to the API class but do not
require access to self. These go in "api_helpers".

2. Functions that are used for the API class but may also be useful
to higher-level or custom web frameworks building on Falcon. There
are presently two such functions, both related to routing, so they
go into a new module, "routing". These functions will be included
in Falcon's reference documentation, and care must be taken to
avoid introducing breaking changes to them in future versions of
the framework.

3. Functions that only need access to self for performance reasons,
which would otherwise reside in "api_helpers". These go inside the
definition of the API class itself.
Fix broken link in README.md

Link to marconi WSGI is now zaqar wsgi
Merge pull request #372 from kgriffs/routing

refactor(API): Distinguish between different types of helpers
Merge pull request #373 from lwcolton/patch-1

Fix Broken Link in README.md
doc(README): Add note about mailing list

Add some information to the README about the Falcon mailing list,
including how to subscribe and a short note about expected conduct.
chore: Bump version to 0.2.0b1