Merge pull request #56 from alphagov/fix-named-predicate-parsing

Fix named predicate/otherwise parsing errors

As a result of 61b1bb2 the parsing of otherwise as a NamedPredicate failed. The behaviour of otherwise relied on a the weird side effect of it being treated as a predicate, instead make otherwise an explicit language construct/operator.

Adds a high level acceptance test/fixture to catch regression and similar high-level parsing errors that weren't covered by tests.
Version 0.4.0 release & notes