Improved Exception handling in TaskStep instances so that they should commit and close connections, regardless of issues encountered.

Changed the way that TaskSteps execute slightly so that error handling is in one location, although this execution path may change after some testing to shorten transactions.
Merge remote-tracking branch 'origin/master'