Changes to mock call history behavior

Per conversations with nohwnd, we're changing how mock call history is tracked and checked, as compared to the
previous commits in this branch.

Instead of having Assert-MockCalled's -Scope parameter target the scope of the mock's definition, it will instead
refer to the Pester scope that was current at the time the call to the mock was made.  This allows for blocks like
the following to be arranged in any order, and still work:

    Mock SomeCommand { }

    It 'Reports one call' {
        SomeCommand
        Assert-MockCalled SomeCommand -Exactly 1
    }

    It 'Reports one call' {
        SomeCommand
        Assert-MockCalled SomeCommand -Exactly 1
    }

    It 'Reports one call' {
        SomeCommand
        Assert-MockCalled SomeCommand -Exactly 1
    }

Because Assert-MockCalled will default to checking for calls in the current scope, each of those calls to
Assert-MockCalled will succeed.  This behavior can be overridden by passing Assert-MockCalled -Scope Context
or -Scope Describe, which will then tally up all the calls in the specified scope or lower.  (Describe gives you
all of the calls at the Describe, Context and It scope, etc.)

When you exit a particular scope, any entries in the call history are promoted up to the parent scope, leaving a pristine,
zero call history in place every time you enter a new Context or It block (while the parent scope still remembers the calls
made in previous Context / It blocks which are now finished.)

Also came across a direct test execution / Strict Mode bug for PowerShell 2.0, and corrected it.  Tests still fail when
the tests are dot-sourced in PowerShell 2.0, and I'm not sure why yet, but it's probably not important.  We are still
all green in PS2.0 when Invoke-Pester is used, and when the scripts are run without dot-sourcing.  The only annoying
thing will be that tests might fail if a user opens a test script in the 2.0 ISE and runs it with F5, and I don't think
we really need to try to fight with the scope and strict mode rules to get that particular edge case working.