Add spec for nonsensical allow_failures

This was pointed out in https://github.com/travis-ci/travis-ci/issues/1840
Fixes https://github.com/travis-ci/travis-ci/issues/1840

When allow_failures contains a nonsensical key-value pair,
we end up having an empty `config` here.
As we all know, `{}.all?` returns `true` no matter what the block.
This results in our allowing every job to fail.
Merge pull request #325 from travis-ci/ha-bug-travis_ci-1870

Bug fix for travis-ci/travis-ci#1840