Replaced values dictionary with ordered set

Also removed the setValue:forKey: that is KVC, NSDictionary uses
setObject:forKey: and using setValue:forKey: is incorrect.
-allValues now outputs all the values in the correct order.