function setup(func_or_properties, maybe_properties)
    {
        var func = null;
        var properties = {};
        if (arguments.length === 2) {
            func = func_or_properties;
            properties = maybe_properties;
        } else if (func_or_properties instanceof Function) {
            func = func_or_properties;
        } else {
            properties = func_or_properties;
        }
        tests.setup(func, properties);
        test_environment.on_new_harness_properties(properties);
    }
Configure the harness

@param {Function|SettingsObject} funcOrProperties - Either a
setup function to run, or a set of properties. If this is a
function that function is run synchronously. Any exception in
the function will set the overall harness status to `ERROR`.
@param {SettingsObject} maybeProperties - An object containing
the settings to use, if the first argument is a function.