Initialize logging before loading siteconfig.

My recent change to improve test times by reducing initialization ended
up swapping the log.init_logging() call and load_site_config(). This
resulted in a lot of annoying log messages for many commands, such as
`manage.py evolve`. This change restores the order.
Change the format for the indentation info keys.

The key used for recording indentation line pairs was a tuple.
Python is fine with this, but the JSON serializer was not. Instead, we
now serialize it to a string, which is safer.
Don't allow duplicates in the bugs field.

It's been possible for a long time to put in the same bug number twice. In the
past, this caused all sorts of nonsense (making it impossible to remove just
one of them), but with the fields rewrite the situation is much improved,
just being ugly.

I've added a filter to get_bug_list() which uses set() to de-dupe the list.
Theoretically it's still possible that a duplicate gets saved in the draft, but
it will never be shown to the user, and it will get filtered out when saving
the draft.

Testing done:
Tried to save the "Bugs" field with the same bug listed multiple times. Saw
that all my duplicates were filtered out.

Fixes bug 3063.

Reviewed at https://reviews.reviewboard.org/r/5358/