Optimize access to poly_infos.

compiler/polymorphism.m:
    Remove a field in poly_infos that wasn't being used. (It contained
    the pred_info.)

    Put the remaining fields into a more logical order.

    Remove unused setter predicates for read-only fields.

    For some setter predicates of the poly_info, the value being written
    is frequently the same as the old value in the written-to field.
    Make these setter predicates not do the update if it is unnecessary.

    Provide a predicate to set the rtti_varmaps at the same time as the
    varset and vartypes, since these are usually updated together, and
    this way we can avoid generating the intermediate poly_info.

    If we know in advance what the name of a new type_info variable should be,
    create it directly with that name; don't created with a different name,
    just to rename it immediately after.

    Give some predicates and variables more meaningful names.

tools/speedtest:
    Add an option, -m (for mix), that executes each under-test version
    of the compiler once before going back to repeat. This minimizes
    the probability that automatic speed throttling of the CPU (due
    e.g. to overheating) will systematically skew the timing results.
    If the executions of the different versions being tested is mixed
    together, any skew from throttling will have effects that are
    mostly random, not systematic.