Added cancellation of LR execution functionality

@lukechurch
It seems like we're using the type of exception as a way to handle it in the caller of ```Executive```. In such case, can we not simplify the following to be:

```cs
public class ExecutionCancellationException : Exception
{
}
```

It does not really need to carry that string message.

P/S: The usage of ```string.Format``` here is unnecessary.