Add BadTaskStateError to _insert_tasks Error list

Add BadTaskStateError to except list in _insert_tasks so that when a
task fails to enqueue with message 'Task has already been enqueued' in a
BadTaskStateError, that error does not propagate upwards.

Also lexicographically ordered the errors.
Add tests for _insert_task errors

Add individual tests covering every exception that should happen within
_insert_tasks, BadTaskStateError, TransientError, TombstonedTaskError
and TaskAlreadyExistsError.
Merge pull request #67 from tannermiller-wf/add_badtaskstaterror

Add BadTaskStateError to _insert_tasks Error list