prevent warnings when Scalar::Util is missing or broken

YAML::Tiny used to not use warnings, and the Scalar::Util
detection/fallback code wasn't properly updated when warnings were
added.  This revises the version check and the fallback code to work
without warning.