fix issue with publishing a module not publishing quiz item correctly

this was fixed by changing two things.

1. all objects except quizzes are published by setting workflow_state to
   'published'. Quizzes differ in that it also needs to generate the question
   data and set the published at time. We have the Quiz#publish! method to do
   exactly this, but nobody uses it. So the code now just checks the workflow
   state and always triggers the correct code if someone changes it directly

2. Quizzes use 'available' instead of 'published' for the published workflow
   state. Content tags was checking for 'active' first and since quizzes
   responded to that method it was setting the state to active, which was
   messing things up. I switched the logic to check for responds_to :available
   first, so that quizzes get set correctly.

fixes CNVS-13003

test plan:
  - turn off draft state
  - as a teacher
    - create a new quiz with questions (leave unpublished)
    - create a new module (leave unpublished)
    - add the quiz to the module
    - publish the module
  - as a student
    - take the quiz
    - the questions should show up fine when taking the quiz

  - make sure that publish/unpublish of a quiz with DS continues to work
    as expected
  - mess around with any way you can think to publish the quiz via modules
    etc.

Change-Id: I734e2499d58891fda952b608a13e856d469ebca2
Reviewed-on: https://gerrit.instructure.com/35479
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>