Topic/instance switcher

Opening this at Mike's request. The feature basically works, but there are a few fatal crashes that I'm still working through, which will get fixed before this is merged.

Please disregard the first two commits, they mirror each other. This was used as a way to check in inbetween changes, but continue to edit them in the staging environment, by backing them out. This will not be merged.
Since we _never_ want to try to get instance info for when we don't have an instance code, I don't think doing `getSharedPreferences().getString("instance_code", "")` makes sense.

Instead, you should check if there is an instance code at all, and if not log it as an error and skip getting the instance info, since we know it will fail.