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.
Instead of adding a comment it would be better to change the code to not need comments. I would look at either changing the block parameter to `section_presenter` or the instance variable to `@section_presenters`. If you do change the instance variable an even better option would be to change the name and add a private `attr_reader :section_presenters` then reference it everywhere without the `@`. In order to maintain consistency with the rest of the file any changes to the block parameter should be reflected in other similar blocks. If you do make all those changes it would also be good to indent the `private` to be inline with the methods as that matches the current style guide.