Initial implementation of BeforeEach / AfterEach

User-Defined setup and teardown blocks that execute before and after each "It" block.  Scope rules based on what I read in rspec's documentation; Setup blocks are executed from the Describe scope first, then Context.  For teardown, it's in reverse; the innermost (Context) teardown blocks are executed, then the outer (Describe) blocks.

For now, the code allows you to define multiple blocks in the same scope, and they are executed in the order they were defined.

BeforeEach and AfterEach blocks can be defined anywhere within a Context or Describe block; they are parsed and loaded before the body of the Context / Describe is executed.  This is different from how PowerShell code normally behaves, but was a desired feature in the initial discussion.
CodeCoverage of files containing DSC Configurations

DSC's use of dynamic keywords screws with the code coverage breakpoint-based implementation quite a bit.
This commit gets it working, more or less, by ignoring commands in the file which do not trigger breakpoints even when they're executed (based on trial and error.)
Small update

Revised new code slightly so most of it is only executed on PowerShell v4+.  Dynamic keywords didn't exist in v3.0, and executing IsChildOfHashtableDynamicKeyword might have caused errors when StrictMode is enabled.
Merge pull request #158 from dlwyatt/SetupTeardown

Add initial implementation of BeforeEach / AfterEach
Merge pull request #163 from dlwyatt/CoverageOfConfiguration

CodeCoverage of files containing DSC Configurations
Rolling back some earlier Pester Scope changes

Per discussions with @nohwnd, the idea of having "It" be its own Pester scope (clearing Mocks and TestDrive contents the same way Context and Describe do) feels a bit awkward in practice.  We're starting to roll back those changes until we find the right balance; for now, Mocks are still affected by It scopes, but TestDrive has reverted back to Pester 2.0 behavior (only rolling back TestDrive contents when exiting a Context or Describe block.)

Also, default behavior of Assert-MockCalled has changed to be more in line with Pester 2.0 behavior, possibly allowing old test scripts to function without any modifications.  The default value for the Scope parameter is now either Context or Describe, depending on whether there is a currently-active Context block.  You can still pass in -Scope <Describe | Context | It> to override this behavior, if desired.

Tests of these bits have been updated to match the new behavior.  Possibly more changes coming along these lines, once we've tested this revision a bit.