added duplicate checking in addAll()
used enhanced for loop in containtsAll() instead of creating and using iter, also
    added null checking
fixed while() expression to use .equals() for objects in the method remove()
    instead of !=
check for null reference added in retainAll()