Refactor product attribute tests

They were in a bit of state, and are now using factories. Still far from
ideal, but I'd rather not change them too much while refactoring
attributes at the same time.
Refactor product attribute validation

* The get_validator method was dropped. Elsewhere we use the explicit
  lookup by type, so why not there? It only makes adding custom
  validation for e.g. richt text values more verbose, as both adding a
  validation method and overriding get_validator is needed.
  get_validator() was not used elsewhere in the codebase.
* The unused is_value_valid (used for option values) has been dropped.
  The same check is already done in _validate_option.
Rebuild product attribute entities

Product attributes had a mechanism to point at related model instances
in a generic way, but nobody managed to understand or get it working.
This comment removes that logic, including the AttributeEntity and
AttributeEntityType models.

Instead, this commit models the relation via a generic foreign key on
ProductAttributeValue.

I don't think there's a good default behaviour for the entity selection
as presumably each deployment will want to limit the selection in some
way. Therefore, there's currently no frontend support for it.

variants.json has been rebuilt by executing the migration and dumping
the correct data afterwards. That explains the other changes in it, as
usually we'd just use vim line matching to shape it into a form that
lets us build the sandbox.
Update demo site fixtures

I forgot to update the demo site fixtures, which caused Travis to fail.
Thank you Travis.
Turn ProductAttributeValue.value_text into a TextField

A 255 character limit seems somewhat arbitrary. And if there's
performance issues, using product attributes probably isn't the right
approach anyway.

This commit replaces the migration to decrease clutter.

Fixes #1380.
Add documentation on modelling the catalogue

This includes two examples for product attributes.

Also fixes two "document not referenced" warnings.

Fixes #794.
Merge branch 'issue/794/attributeentities'

Conflicts:
	docs/source/releases/v0.8.rst