Support for connecting to existing topic nodes

The add view for a topic will now connect to an existing topic node if
topic_node_id is present in a GET request. Attempting to connect to a
node twice will raise an error. That constraint is now also added to the
database.
Correct validate_unique for topics

Check for uniqueness of preferred_name with respect to project, not just
preferred_name alone.
Formatting, blah blah blah