Cleanup and fix indexable content

indexable_content is used in Publisher to populate the search index.

There is currently a bug where the main text for Licence editions isn't indexed, and in some cases I believe Answers have the same symptom. Both should be fixed by these changes.

Previously, the logic for indexable_content was spread across Publisher and this repo, and was messy and AFAICT buggy/nonsensical. I've cleaned the code up and fixed the known bugs.