Fixup use of conditional pending

Without this patch the tests aren't actually getting marked as pending
because exceptions are being raised in the before blocks.  This patch
addresses the problem by switching the declaration references to a lazy
evaluated let method rather than a preemptive before block.  This
prevents the exception and allows the pending methods to execute.