Better error messages when exported commands are called out of order

Most Pester commands are intended to be used inside a Describe block, and if you called them in other situations, you'd typically get many errors instead of a single terminating error at the start of a function.

This has been changed for all commands except for Invoke-Pester and New-Fixture (which are intended to be called outside of a running test).
Merge pull request #188 from dlwyatt/BetterErrorMessages

Better error messages when exported commands are called out of order
Update CHANGELOG.md