Prevents reshuffling within browser session.

With the current setup, the project list gets reshuffled if the user
clicks through to a project then comes back. This makes it hard to
browse the list. Now the ordering is stored in `sessionStorage` after
the initial shuffling.

If sessions storage is unavailable, the current behavior of shuffling
every time is used.

Testing:

* Clicked through to a project and came back.
* Refreshed the page.
* Fooled browser into thinking sessionStorage was unavailable.
Fixed case where project is removed.

Tested this by editing session storage directly.
Merge pull request #110 from brownhead/gh-pages
Consistent .js whitespace