[execution][algorithm] Handle error the same way for all algorithm types

Currently sequential and autonomous algorithms are not treating
errors happening in the process method the same way. This result
in missing information coming back up through beat/beat.core>

This patch fixes this and also ensure that the outputs are
properly closed.

Fixes beat.core#98
4 jobs for streamline_algorithm_process_error_handling in 2 minutes and 57 seconds (queued for 6 seconds)