Changes dd_sortedObjectList() to use mergesort with cached sort values

As in title. This reduces the round-start lag to ~2-3 seconds (roughly the end of the "Welcome to Space Station 13" announcement), rather than the 10-20 seconds it takes currently. The main gain from this is the caching of `dd_SortValue()` results - the default `/obj/machinery` implementation returns `"[sanitize(name)]"`, which takes a while to complete on all machinery in `world`.
Can't these colones be avoided? Or ObjectList actually means List of Anything that Happens to be There as usual?