GetLookupTable returns the Maglev lookup table of the size "m" for the given
backends. The lookup table contains the IDs of the given backends.
Maglev algorithm might produce different lookup table for the same
set of backends listed in a different order. To avoid that sort
backends by name, as the names are the same on all nodes (in opposite
to backend IDs which are node-local).
A backend weight is honored by altering the frequency how often a backend's turn is
selected.
A backend weight is multiplied in each turn by (n + 1) and compared to
weightCntr[backendName] value which is an incrementation of weightSum (but starts at
backend's weight / number of backends, so that each backend is selected at least once). If this is lower
than weightCntr[backendName], another backend has a turn (and weightCntr[backendName]
is incremented). This way we honor the weights.