fixed issue #18 by adding abstract CharacEquals method in IReaction and implementing it in each child class and overriding/adding Equals methods for Product and LinkedList