Auto generate Op.{hash,eq,str}

Added __eq__ and __hash__ to Op Class and deleted them in function with props attribute.
remove .join() part.