Remove unsued local variables.

Change-Id: I8f42070ed18a238deabb229210d01e43228e166e
Modify how user repos are cloned.

This partially reverts bb8a99403, which, it turns out, removed
something that was non-obvious but required.

Add comments explaining why the change is needed so it doesn't
get removed accidentally again.

Change-Id: I2f4129c08a35805598790d3bab7f011181ef910a
Trigger blurs when closing tabs.

While these are likely to be triggered from the switch to
any remaining open tabs, this shouldn't be relied upon.

Change-Id: I7448e983ba02f9e7b6e17cd4fe8ecd54da0be17b
Replace show/hide of pages with helper.

Using the mochikit helper for this makes it clearer
what's being achieved.

Change-Id: Ic2dd78d932d703e01b5faafaafb168d9f7367bd8
Replace more show/hide of pages with helper.

Using the mochikit helper for this makes it clearer
what's being achieved.

Change-Id: Iaa5a7a4c9f9bfed72af7b0d843fd7d1ed12fb686
Remove a dead signal, update comments.

Change-Id: I9b96d4e7f87e8eb0bb9bc62a752a34ff942f991d
Fix logic that selects a tab when one is closed.

We don't actually care whether the selected tab can focus (if it
can't, switch_to is graceful, and we don't have any special handling
to look for another tab anyway), so instead just validate that the
selected index exists (which it might not).

Change-Id: I686a5d5756018342d0abc446692367474edeb8ca
Separate the UI from its need to have a team id.

There is now quite a lot of functionality in the IDE that doesn't
actually need a team id to work, and it's quite possible that
mentors won't be in a specific team. This commit rearranges how
the UI is launched so that it is less dependant on the user being
in a team. Add a useful message for users that aren't in teams,
and add checks where needed that the user has selected a team,
with an instructional error if they haven't.

This commit also includes quite a bit of restructuring to the
ProjPage object which simplifies the UI setup by moving stuff that
should be internal to the ProjPage into it. Some of these things
are then re-exposed if needed, but the majority aren't.

Change-Id: Ieb3662f449c8f546d1e14fade120b916cdc8f99f