* Wrapper cookbook usually uses default level to override attributes
of the wrapped cookbook. Here, we had a problem because if the
wrapper cookbook was enabling sasl and was setting a relayhost
and a user/password combination using the default level, this was
not working because _attributes resets those attributes.
To fix this, we now use node.default_unless which will set the
attribute only if it's not already set ensuring that wrapper
cookbook overriden attributes using default level are correctly
kept when computing derived attributes.