Lay groundwork for UI Redo

Removes everything and sets up for partial pages with 3 routes;
- No pollId = Create new poll
- pollId = Vote in poll and view results
- manageId = Manage a poll as a poll creator

Admin still works as before.
One more thing
Fill in poll creation front-end

Adds all the fields we want for poll creation, leaving the createPoll
function as a No-op for now.
Add submission validation

- Adds constraints to the form, including required fields and email
  validation.
- Populates the templates dropdown
- Only allows "Submitted" to be logged to console if all fields are valid
Send email with details of poll

Adds a "POST /api/mail" command to take an email address and send an
email to the specified address.
Make mail sending private

Adds the email to the Session to send when creating. We don't ever store
the email in the database, as we only need it at the time of creation to
send the email.
Add Session.ManageID

Adds the ManageID to sessions, and updates the email link to use it.
Also stops the email task if no email or password is given, as this
often happens when running the unit tests.
Add "Poll Created" page

After creating a poll, the "Create poll" button is disabled and the user
is redirected to the "Poll Created" page.
Create poll management front-end

Adds the tables and API calls that we need for poll creators.
Introduce ManageVoteController

Adds a controller to receive Poll Creator requests when viewing and
deleting votes. Currently rejects all calls.
Address review comments
Implement "DELETE /manage/id/vote"

Allows all votes for a given managed session to be reset.
Because we no longer need this functionality in "DELETE /session/id/vote"
we remove it from the latter.
Remove vote from managed session by Id

Implements "DELETE /manage/id/vote/id" to delete a single vote from a
managed session as a poll creator.
Reduce discoverability of sessions

We don't want all sessions to be discoverable, so we remove "GET /session",
as well as removing the ManageID from a "GET /session/id" request.

Otherwise, a regular user could request a session by id, see the manageId
and gain access to the poll creator panel.
Basic framework for new voting page
GET things

Implements GET /manage/id/vote and GET /manage/id/option
Front end tweaks

- Only center the "Reset Votes" button, not anything else
- Fix ambiguous DELETE call
DELETE /manage/id/option/id
Address further review comments

- Renames allTemplates to populateTemplates. Didn't go with getTemplates
  as it does a little more than just fetching them.
- Fixed typo in Poll Management link
- No changes to clipart :p
Merge pull request #45 from tpkelly/feature/fish

Create a poll