Clean $error variable

Code now uses -ErrorAction Ignore instead of -ErrorAction SilentlyContinue when the user is running PowerShell v3 or later.

Because of the various scopes in play during Mocking and InModuleScope, the code to look up whether to use Ignore or SilentlyContinue had to be exported from the Pester module in some way.  I opted for a function instead of a global variable, as it's less fragile.