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.
`def collection_markup`