added NondominatedArchive
added CachingStringDistance to save time in computation of NCD