Tweak handling of related topics in API and in Backbone

In the nested representation of topics in the API, I've added an 'id'
attribute, which is the ID of the topic, *NOT* the TopicNode id. This
was becoming a pain to deal with and might not even really be useful.
Additionally, I changed the `name` attribute in that nested
representation to `preferred_name` for consistency.

I updated Backbone models and tests to reflect this change. Everything
should be a lot simpler now.

API tests and ElasticSearch mappings and queries updated as well.