More secure handling of `secure` values in configuration

We improved our handling of secure values in the user configurations in order to prevent accidental exposure of sensitive data.

This change means that, if the secure value was not encrypted, decryption now fails, and the data are now undefined. For example,

deploy:
  provider: s3
  access_key_id: AK1234567890ABCDEFGH
  secret_access_key:
    secure: $AWS_SECRET_KEY
  ⋮

will now fail because secret_access_key is now undefined and the deployment utility will not get the correct value.

If the value is not encrypted, ensure that it is not wrapped in secure.

The example above should now read:

deploy:
  provider: s3
  access_key_id: AK1234567890ABCDEFGH
  secret_access_key: $AWS_SECRET_KEY
  ⋮