function delay(func, wait) {
      if (!isFunction(func)) {
        throw new TypeError;
      }
      var args = nativeSlice.call(arguments, 2);
      return setTimeout(function() { func.apply(undefined, args); }, wait);
    }
Executes the `func` function after `wait` milliseconds. Additional arguments
will be provided to `func` when it is invoked.

@static
@memberOf _
@category Functions
@param {Function} func The function to delay.
@param {number} wait The number of milliseconds to delay execution.
@param {...*} [arg] Arguments to invoke the function with.
@returns {number} Returns the timer id.
@example

var log = _.bind(console.log, console);
_.delay(log, 1000, 'logged later');
// => 'logged later' (Appears after one second.)