Loosen openssl.installed? check for sha256 hashes

Tiger has to shell out for custom sha256 hashes on Tiger. However,
using Formula.factory('openssl').installed? as a check was a bit
too restrictive, as this prevented users with custom OpenSSL
versions from being able to calculate hashes even though their
custom version might have been able to do it.

This checks OpenSSL's opt_prefix if the #installed? check fails,
then tries to see if sha256 is listed as a valid hash type.
openssl sha256 hashes: quote arguments properly

Given Kernel.``'s path splitting, this guards against either the
openssl binary's path or the path to the file to hash containing
spaces.