Support Haskell stack
As an alternative to cabal, stack is easier to use for builds.
As it uses the same package names, this could be merged into CabalRequirement. (similar to how DistributionRequirement has multiple package managers)
Example Windows setup http://www.snoyman.com/blog/2016/08/appveyor-haskell-windows-ci