Soft dependency on PIL or Pillow

Please do not force a dependency on PIL. Many prefer to use Pillow.
Use coordinate generators as generators

This prevents tilestache-seed.py from inadvertently pre-calculating
coordinates, which wastes time and memory when used with large bounding boxes
at high zooms.
initial redis cache provider for TileStache
Use xrange in the generator function

xrange is in turn a generator, so we can further reduce memory use.
Merge pull request #115 from mojodna/generator-usage

Use coordinate generators as generators
split host,port,db and implement locks
use setnx
Merge pull request #109 from fabianbuechler/patch-1

Soft dependency on PIL or Pillow
Merge pull request #116 from perrygeo/redis

Redis cache provider
Logged recent changes and added Redis to Makefile
api docs
might help if we actually passed the kwargs
Applied Nelson's doc patch
Merge branch 'redis' of git://github.com/perrygeo/TileStache
Return status codes and headers, not just mimetypes

Plumbs the way toward returning additional headers (and non-200 status codes)
from deeper within.
Move getTile onto Layer
Fix up tests
Borrowed httplib.responses to look up status code reason strings
Changed instances (all?) of headers on WSGI path to use wsgiref.headers.Headers
Changed instances (all?) of headers on CGI and mod_python paths to use wsgiref.headers.Headers