Break page header mark-up into its own partial

This solves the problem of projects that want to override the way page
headings are marked up.  Previously, the mark-up was in all templates so
was impossible to cleanly override.

This involves changing virtually all templates to use the new block
'headertext'.
Pin to fixed commit of django-haystack
Bump version to 0.4.3