!!Caching improvements

I spent some time analyzing what kinds of requests are issued from the wiki to the Page and Attachment providers in an effort to figure out why large wikis (1000+ pages) with lots of links and large pages become slow.

We have our own custom Page and Attachment providers which request content from a remote machine.  This causes a 10 millisecond delay in every request.  Booting up a wiki like this takes ages (10 minutes on 2.4GHz pentium) mainly due to caching inefficiency.

There are multiple factors that cause this:
* Page and Attachment provider implementations can differ
* There is no Attachment cache
* Cache configuration errors make life difficult
* There were some bugs in the caching implementation