Additional Commands API features
Created by: osbornjd
Summary
This PR addresses a number of issues raised in the previous PR391.
Issues addressed in this PR
The issues resolved in this PR are 393, 394, 395, 396, and 397.
Other changes
This PR also fixes a bug in the job monitoring which was identified during testing.
It also implements an issue raised in the previous PR391 and not mentioned in individual issues threads, which is the implementation of the CommandTest function.
Potentially (remaining) open issue
It is up for discussion whether or not other places need "final" in reference to issue 396 - nonetheless the additions I have made are a beginning of (for what is implemented so far) the things that I think need to be static.