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
Fix haystack URL by adding git protocol
Bump version to 0.4.4

As requested in the comments of #489
Allow get_class to import from modules not present in oscar
Improve comments and naming within core loading function
Generalise the dynamic loading functions

They now support loading classes from a different default set of apps to
'oscar.apps'.

The docstrings and comments are also improved.
Merge branch 'pr/483' into releases/0.4
Bump version to 0.4.5
Split payment models into abstract and concrete