Add tests for determining failure cause from inside getFallback()

Some new code in Ocular relies on being able to obtain the failure cause inside the fallback for logging purposes. This commit includes tests that verify that all reasons can be obtained, except for 'timed out' when using TenacityCommand.queue() because queue() does not obey Tenacity timeouts.