Only reinsert tasks which were not enqueued

If a list of more than one Tasks is given, a raised exception does not
guarantee that no tasks were added to the queue (unless transactional is set
to True). To determine which tasks were successfully added when an exception
is raised, check the Task.was_enqueued property.
Merge pull request #156 from tylertreat/reinsert_fix

Only reinsert tasks which were not enqueued