Added Nesta::Page.find_file_for_path.
Cache filename for each page.

When rendering the current page Nesta needs to search for the filename
to load. Each time it checks it must search for .mdown, then (until it
finds a suitable file) .haml and .textile.

To make things worse (quite a lot worse actually) there are often
multiple times (per page rendering) that a file must be loaded into a
Page object, and lots of pages need loading in order to render (for
example) the links in the menu.

Page objects were already cached, but whenever we wanted to load a page
from the cache we were checking the filesystem in order to invalidate
the cache for files whose timestamp had changed.

We now cache filenames as well as Page objects, so will only check the
filename during the first request made to the server. On subsequent
requests Nesta will already know which file to look at. Checking the
modification time is a fast operation, so for sites with more than a
handful of pages this becomes a significant saving.

It should now be a lot faster - I can't believe I didn't spot this in 2009!