Made CollectionResource aware of what it collects

Improvement to CollectionResource optionally makes it aware of the
Resource that it collects. As a result, CollectionResource can now
automatically handle POST and DELETE requests for the collection, using
the saver and deleter functions from the collected resource.

Added the resource.collection() decorator to mark a CollectionResource
as collecting resource.
Request input parsing is now lazy

Findig will not parse request data if it is never accessed.
Added .include() method to _GenericBase

All built-in formatters and parsers can now .include() to include
handlers from other built-in formatters and parsers specifically.
Added better context management for Apps

The decorator @app.context allows the definition of a context manager
than can setup and teardown application resources. The function must
yield after setup code and before teardown code. If it yields a value,
then that value will be set on findig.context.ctx with the function's
name. For example this code will set ctx.db for the duration of the
application context::

@app.context
def db():
# Db setup code
yield db
# Db teardown code

Additionally, a second decorator @app.cleanup_hook allows you to
register a regular function that gets called at the end of the
application context to cleanup resources. This is useful when a resource
is created after
the application context is established but still needs to be torn down
before the app exits.
Added intersphinx mapping for Python docs