Implement RFC 027 File Verification

This implements user-suppliable file content verification per RFC
027. Users can supply a block, string, or symbol to the `verify`
resource attribute.  Blocks will be called, string will be executed as
shell commands (respecting the same options as not_if and only_if), and
symbols can be used to access built-in registered validations.
I've thought about this for a bit and I'm not sure if this is easier for the future users of this interface or not.  On the one hand, it is deadly simple.  On the other hand, I suddenly don't know what I have access to from inside that block.  If I make methods inside this class, can I use them in that block?  

Even if we go this route, I'm not sold on being able to provide a string as I really like that from the perspective of the Chef::Resource::File::Verification code, we just hand off to the registered verification and don't put any restrictions on what they are going to do.  With a string, we suddenly have to do something with this string.