Ensure that task_type param is an allowed TaskType

# References
* https://www.pivotaltracker.com/story/show/80334890

# Notes
* We really need an authoritative source for what are valid/allowed task types.  We essentially have that in our `TaskType` factory except for one lone holdout, the good 'ol `MessageTask`.  I decided to add it with these changes so that we can allow it to be verified before creation.