ArrayList -> Set

Decided to change the type of class variable tagList from ArrayList to Set, because ArrayList is an ordered list and tag ordering does not seem useful. Changed methods associated with tagList to reflect Set functionality. Added constructors.