`formatters.tests.ps1` file name had a type and was not being picked up by Pester. As such, formatter bugs were not being caught. This PR fixes the typo thus enabling the unit tests. It also fixes the bugs in `Format-Callstack` that were exposed from enabling the unit tests.
New major version. Interface and implementation have been completely overhauled.
The previous version included Invoke-ChecklistRequirement and Invoke-ContextRequirement, which relied on global state and held two different requirement engines with integrated logging. The new version contains a single requirement engine that outputs RequirementEvents. These events can be displayed with standard PowerShell formatters like Format-Table and Format-List. In addition, this PR introduces Format-Checklist for the human-facing interface and Format-Callstack for verbosely logging requirement execution
In addition to cleaner interfaces and implementation, Requirements now supports "DependsOn" for dependency graph execution.