fix polling api 500 errors

fixes CNVS-13434
This commit addresses several 500 errors the polling api was emitting in
various circumstances.

Test plan
- Create a poll session with an invalid course section id
  - The API should return a 404 and JSON response of 'resource not found'

- Create a poll session with a blank has_public_results attribute
  - The poll session should be created with a 'false' has_public_results
    attribute

- Update a poll session with a new course_id and valid course_section id
  - The poll session should be updated successfully

- Create a poll submission with no poll_choice_id supplied.
  - The API should return a 404 and JSON response of 'resource not found'

- Create a poll submission who has made a submission for a different
  session on the same poll
  - The poll submission should be created successfully

Change-Id: I435067488914b2d1a3e48e2df5eda835228759c2
Reviewed-on: https://gerrit.instructure.com/35936
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>