Refactored handling of solver calls and state termination for asserts and ensures into HandleAssertLikeCommand()
Refactored handling of solver calls and state termination for
asserts and ensures into HandleAssertLikeCommand()

This is necessary because the code is almost identical and has needed
refactoring for quite a while. I'm still not entirely happy with this
because we should switch to using C# events notification of terminating
states but one refactoring at a time...

symbooglix/symbooglix,symbooglix/symbooglix,symbooglix/symbooglix