Errors reported from Describe and Context blocks

Quick update to make terminating errors that occur in a Describe or Context block cause a failed "test" to appear in the output.

Because we're just piggybacking onto the existing PesterState.AddTestResult and Write-PesterResult code, the output looks as though it came from an It statement, though the name is always "Error occurred in Context block" or "Error occurred in Describe block".  If this style of output is undesirable, a more extensive code update would be required.
Test failure for script file errors (syntax, etc)

This is along the same lines as the original commit in this branch, but addresses issue #91.

Also moved the calls to Add-SetupAndTeardown into the Try blocks of Describe and Context.
Removed tab characters from previous commit

Whitespace-only change
Merge pull request #168 from dlwyatt/DescribeAndCheckoutFailureReport

Errors reported from Describe and Context blocks
Updated changelog for PR168.
Mocks are no longer tied to the It scope.

When Mock is called from an It block, the mock's lifetime is tied to whatever the parent scope of the It block is (either Context or Describe).  The concept of an "It" scope still exists, but only for use in calls to Assert-MockCalled.
Merge pull request #176 from dlwyatt/RevertingItScope

Mocks are no longer tied to the It scope.
Update CHANGELOG.md
Adding Gherkin - New PowerShell Code
Add support for background and Scenario Outline
Create my own (mini fork) of pickle for simpler parsing
Refactor Features and Steps to their own functions for reuse
Add Gherkin to Pester
Refactor WHEN to just store steps in a hashtable
Fix tag filtering (it's still not feature-compatible with Cucumber's)
Allow multiple matches and pick the best match
Fix Background (should (re)run before every test)
Add the keyword to the step printed output