Fix double loading on install

This issue arises because we're not checking the status of the tab
before trying to inject. So when during installation a new tab is
created and the extension activated this triggers the change from
'inactive' -> 'active' in TabState which embeds the sidebar into the
loading tab. Later the update function is called when the tab loading is
complete injecting the sidebar a second time.

We now explicitly check the tab status in the injection handler to
prevent injection into a loading tab.

Fixes #1756.
Don't use target="_blank" for feedback email
Correct spelling
Merge pull request #1761 from hypothesis/feedback-target-blank

Don't use target="_blank" for feedback email.
Rename Heatmap -> BucketBar

Ref #1236
Merge pull request #1767 from hypothesis/rename-heatmap

Rename Heatmap -> BucketBar.
Remove unused dynamic bucket code
Merge pull request #1768 from hypothesis/remove-dynamic-bucket

Remove dynamic bucket from BucketBar
Move thread conditionals onto top level element

Rather than the thread-reply and thread-load-more elements having
one set of conditions on the parent and one on the child we now ensure
that the entire element is always shown/hidden.
Merge pull request #1758 from hypothesis/1756-double-load-on-install

Fix double loading on install
Merge pull request #1770 from hypothesis/thread-display

Move thread ng-show conditionals onto parent elements
Include h automatically when creating the app
Fill reply permissions

Privacy directive doesn't fill the permissions if the annotation has
already have them and the replies permissions were not filled, only
the reading permissions

Before that the privacy directive detected that other way.

Fix #1759
Store persona in the rootScope
Add test for reply permissions
Introduce user helper
Tests using fake user service
Introduce auth service

- Bridge the for identity service
- Handles login, logout, and exposes the current logged in user
- permits function for authorizing actions