Calculate the is_blocked flag correctly

This changes the BLOCKED label to be based on the new 'is_blocked' flag.
The value of that flag is calculated by looking at all the bugs the bug
depends on and if any are open, then the 'is_blocked' flag is set to
True.

This does some extra bookkeeping in order to avoid an extra Bugzilla API
call, but does at most one additional call.

Fixes #4
Fix a total fux0ring I just did somehow
Sort bugs in sprint view by priority

This is a stopgap until we can sort bugs in the page by columns.
Add assigned_to column
Redo blocker information so there are fewer columns

If a bug is blocked, it gets a BLOCKED label. This tweaks that so the
BLOCKED label also includes the open bugs that are blocking this bug.
Because we do that, we can ditch the depends_on column.
Fix 500 page, fix timeouts, fix access issue

* the 500 page could use some more help
* this increases requests timeouts to bugzilla to 60 seconds which
  should cover most searches
* if the user has no access to view a depends_on bug which blocks a bug
  they can see, then it doesn't show up in the id_to_status dict and
  then it throws an error; I wrapped that in a try/except with a
  comment, but I'm not sure what to do in this case
Merge branch 'master' into angular

Conflicts:
	ernest/main.py
	ernest/templates/errors/500.html
	ernest/templates/sprint.html