Fix a weakness in 'should matcher' for environment varialbe and add 3 spec examples

The logic of should matcher for environment variable has changed since https://github.com/travis-ci/travis-build/commit/ea7361582562f43e89ac0692d13ebf7a69ae97a0#L1L104

This pull request fixes a weakness when using `include?` that could lead to accept a partial value (e.g. 'foo' instead of 'foolish'). I also added more tests to stress how quoted and unquoted variable definitions are handled.