Make the value-checking macros avoid creating an error userInfo dictionary if the error is not going to be created (i.e. the given error reference pointer is NULL).
Merge pull request #17 from carllindberg/2065-AvoidErrorUserInfoCreation

Avoid creating error userInfo dictionaries when not needed