Allow page parts to use customised presenters

A page part will look for a named presenter and named data.
If found it will use the presenter to present the data.

Collection_presenter is a new presenter which will present any
collection as an unordered list.

This has passed the refinerycms testing, but I haven't written tests for the new behaviour yet.
2. A method seems like overkill for a simple gsub.
1. I needed the comment at the time, and by now I think I am also downcasing. 

If the comment were `# gsub out whitespace` I'd agree.
If there was more to it, then a cleanup_title method might be warranted.
As it is, it tells the reader _why_ it's needed.
And now that I look at it, I should probably find what Refinery uses to generate the section id and use the same method here.

I still don't think it's worth forcing the reader to jump to another chunk of code for something so trivial.