Add option to cache prepared statements

There's now a 'use_cache' parameter for the connect() function, which
causes all prepared statements to be cached, keyed on the SQL query
string.

Also, unfortunately tox doesn't support Python 2.5 anymore, and so I've
hacked together a shell script 'run_25' to run the tests for CPython 2.5
and Jython 2.5.