Introduce text and HTML representations for product attribute values

Oscar previously did neither do anything special for e.g. image
attributes or richtext attributes, nor provide hooks for doing so.

value_as_text and value_as_html properties have been introduced which
allow customising the output. Whereas the handling of the different
types is still lacking (e.g. the image type definitely needs special
handling), it is much easier to add support for that now. Adding them
has been pushed to a later date and is tracked in #1152.

Fixes #1149.