hashchange: Update spectator hash when hash changed internally.
hashchange: Update spectator hash when hash changed internally.

replaceState / pushState update browser hash without calling
hashchange. So, we need to update state manually in those cases.

andersk/zulip,eeshangarg/zulip,zulip/zulip,andersk/zulip,zulip/zulip,rht/zulip,rht/zulip,eeshangarg/zulip,rht/zulip,kou/zulip,rht/zulip,eeshangarg/zulip,eeshangarg/zulip,zulip/zulip,kou/zulip,zulip/zulip,rht/zulip,zulip/zulip,andersk/zulip,eeshangarg/zulip,kou/zulip,andersk/zulip,andersk/zulip,rht/zulip,kou/zulip,kou/zulip,zulip/zulip,kou/zulip,rht/zulip,andersk/zulip,eeshangarg/zulip,zulip/zulip,andersk/zulip,eeshangarg/zulip,kou/zulip