Ensure equality comparisons work for Source objects

Implement functions eql? and hash as they are required for
proper evaluation of functions like uniq and to add them
to a Set without duplicates