Make a trailing colon for stanzas a parse failure
Here's a mistake I make semi-regularly:
source-repository-package:
type: git
location: https://github.com/parsonsmatt/foundation
tag:
688c32ccd9a951bc96dd09423a6e6684f091d510
subdir: basement
subdir: foundation
Cabal treats this as a warning, so it prints:
Warning: cabal.project: Unrecognized field
'source-repository-package' on line 52
This is fine (if you already know the mistake you've made, at least!),
but it's very easy to miss amidst lots of output.
I often re-run `cabal` when I see a ton of output to attempt to get a
smaller error message. (Usually it works and I get an error message
that's got less "compiling module such and such" noise in it.) However,
re-running `cabal` will discard this warning entirely!
Let's make it a hard error instead. This is a backwards-compatibility
break.