Drop workspace refs in AlgorithmProxy when algorithm finishes

The shared_ptrs held in WorkspaceProperty were set and still held by the
AlgorithmProxy object until it got knocked off the AlgorithmManager stack.
This gave the impression of a memory leak if an algorithm failed when
in fact the references were just being held too long.
Refs #8412
Remove an algorithm from the AlgorithmManager if cancel is clicked.

This drops the workspaces references that the proxy would have acquired.
Refs #8412
Merge remote-tracking branch 'origin/bugfix/8412_wksp_refs_alg_failure'