Implemented tests for all methods of Iterable. Tests which are hard to write without taking into consideration the order of elements were implemented by smaller sub-classes of IterableTests, namely NaturalOrderIterableTests, InsertionOrderIterableTests and HashOrderIterableTests
Created specialization of IterableTests and its order-specific variants for Iterables which allow null elements
Modified all Iterable tests (except PriorityQueue) to use the new IterableTests and its specializations. Removed tests which would become duplicates.