Add Image#signature attribute

This signature uniquely identifies an image, and can be use to determine
if an image has been modified, or compare two images.
Break #signature out into own method for perf

As calculating the signature requires reading the whole file, this won't
be a constant time operation. Therefore, be more lazy about it and only
calculate it when necessary.
Implement object equivalence for Image

Two MiniMagick::Image instances are equal (#== or #eql?) iff they are of
the same Class and their #signatures match. To be a well-behaved Ruby
object, also implement #hash, based on the #signature.
Merge pull request #270 from stevenharman/add_image_signature_attribute

Add Image#signature attribute