Add pjax_block decorator.

This change adds a ``pjax_block`` decorator which accepts the name of a template block to return to PJAX requests, so people can use PJAX with no template changes or additions (as long as the content they want to send with PJAX is already in a block).

Do you think this is a good idea? It's achieved by setting __class__ in a couple of places to override the standard behaviour of TemplateResponse and NodeList objects. What do you think about this approach?