changed AbstractMergeSort : more flexible with setup()
changed EfficientMergeSort : implemented with SortedPartsChain
changed SortedPartsChain : changed Stack to LinkedList
		added getNext(Node node)
		added removeEmptyParts()
		added getNewSortedPart(int itemId, int length)
		changed size()
changed SortedPartsChain.SortedPart
		added id
		added swapItem
		added goNext
		added incrementLength
		added hashcode and equals