Adds "via" attribute to Referenceable annotation to allow custom Reference classes.
Adds additional form in the RTE enhancement UI using the fields defined on the Referenceable annotation's via class, and makes the object accessible via the "reference" attribute in JSPs called from the RenderTag.
Hides the "Edit Enhancement Metadata" link if the Reference hasn't been sub-classed, or modified by something other than RichTextReference.
Fixes enhancement edit URL regex.
Fixes enhancement alignment changes not persisting if the edit button was toggled after a change was made.
Changes enhancement edit UI to include both forms on the same page, with a toggle to make the enhancement object editable.
Merge branch 'master' into feature/reference-data

Conflicts:
	db/src/main/java/com/psddev/cms/db/RenderTag.java
Formatting.