Refactoring staff middleware to minimize duplicated work

I changed the order of the `staffauth` and `isStaff` middleware so that work is
not duplicated. Originally `staffauth` was followed by `isStaff` in the
middleware stack. Now `isStaff` is executed first and sets the response level
local `res.locals.isStaff` which is then used by the `staffauth` middleware
which is now next in the stack. I was able to make the `staffauth` middleware
simpler as a result.