Sorted out mocking behavior with new decoupled Context / Describe implementations.

This is a bit awkward at the moment.  The intention is for us to be able to test the implementation of Describe / Context against an arbitrary Pester State object, but Mocking currently uses global state in the form of $script:mockTable, and mocks were being wiped out as we exited the DescribeImpl or ContextImpl call under test.

Code has been revised slightly so only the actual calls to Context or Describe will wind up deleting mock's global state, and calls to mocked functions will remember which pester state was in effect when they were created (so call history scope is appropriate for the actual test script, not the call to DescribeImpl or ContextImpl.)

A cleaner approach would be to eliminate or minimize the mocking global state, and somehow associate call histories with the PesterState objects directly.  However, this will be tricky to get right, as we have to remove our mocking stub functions at just the right moment (when no PesterState objects are left that refer to those mocks.)