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.
* See #27.
* I don't do a whole lot with javascript so am mostly unaware of best practices. This was also a hastily done patch, so please review!

Testing:

* Clicked through to a project and came back.
* Refreshed the page.
* Fooled browser into thinking sessionStorage was unavailable.