Better Redis connections and atomic id creation

Redis connections are now shared from a persistent pool.
This pool is threadsafe and process safe, so it doesn't
matter what server runner you are using (WSGI, UWSGI,
WerkZeug threading or processing or simple, apache, etc.),
it will still work. These pools are accessed via a
context manager to handle releasing the connections to avoid
resource leaks.

Removed baseN and tinyid functions and instead implemented
make_id, which uses Redis' atomic INCR statement to keep track
of an auto-incrementing int. This will be lost each time Redis is
wiped, but that's probably the expected behavior anyway. This
removes any possibility of a collision (and should be faster as
well).