pollster status refactor

pollster status is handled by an audit log type table that keeps track
of status toggles.  user.is_pollster is a property that checks this
table, and ballot.is_provisional is a property that checks the
associated user's status at the time of the poll's close.
Poll open/close convenience actions in admin

Adds flask-admin actions to open (cause a poll to close in 24 hours)
and close (set closeTime to utcnow()) a poll.

Only designed to be used as a convenience during development/testing.
is_pollster setter sets one second in the past

This little hack is to ensure the User admin page correctly displays a
user's pollster status after being set/unset.
Fixes bug in was_pollster_at

Was ignoring passed in timestamp and just comparing to current time.
Add login view

This fixes the crash on trying to access a login-required page when not
logged in.  Earlier, flask-login would try to route to /login, which
didn't exist.  This implements a /login view which generates a state
and reddit auth view and redirects.
Fixes small bug in edit profile

User.is_pollster is a property now, not a method.
Fixes crash on users refusing reddit oath
Removes stray references to g.authorize_url
Remove pollster option from role in user admin form and change promote/demote wording
Merge pull request #25 from brandonsato/pollster-status-refactor

Pollster status refactor

resolves #22