[BUGFIX] localStorage/get-item - dont always return nil

Misplacement of the closing parentheses for the `if` expression causes
`nil` to be returned all the time

Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
[REFACTOR] Add `cljs-nusmods.document-location-hash` namespace

This new namespace contains functions that modify
`document.location.hash`. These were previously from the timetable
namespace.

Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
[REFACTOR] Remove leading \# from `document.location.hash` and create `get-url-hash-from-local-storage`

This allows us to:

- make the `remove-leading-sharp-from-url-hash` function private
- make the `LOCALSTORAGE-DOC-LOCATION-HASH-KEY` var/constant private

Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>