All code is now working with the new 'Validation' class.  Next step is to add sufficient tests for 'ProcessBlock'.
Validation of parameters & results of process blocks now appears to be working, but more tests are required.
Throwing of a 'ResultValidationException' when a result fails validation now seems to be working.
Parameter validations appear to be working as expected.
Simplified the test code.
Re-structured 'FutureTests' so that it tests both completed and uncompleted futures for all tests.
Handling of validations & exceptions in process blocks is now working as expected.