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.
Address review comments
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