Completely handle loading a single result file.
    @param result_file the file to parse
    @param options additional options
    @param run_set_id the identifier of the run set
    @param columns the list of columns
    @param columns_relevant_for_diff a set of columns that is relevant for
                                     the diff table
    @return a fully ready RunSetResult instance or None

def load_result(result_file, options, run_set_id=None, columns=None,
                columns_relevant_for_diff=set()):
    """
    Completely handle loading a single result file.
    @param result_file the file to parse
    @param options additional options
    @param run_set_id the identifier of the run set
    @param columns the list of columns
    @param columns_relevant_for_diff a set of columns that is relevant for
                                     the diff table
    @return a fully ready RunSetResult instance or None
    """
    xml = parse_results_file(result_file, run_set_id=run_set_id, ignore_errors=options.ignore_errors)
    if xml is None:
        return None

    result = RunSetResult.create_from_xml(
        result_file, xml, columns=columns, all_columns=options.all_columns,
        columns_relevant_for_diff=columns_relevant_for_diff)
    result.collect_data(options.correct_only)
    return result