add `function/identity`. change `function/makeIterator_` behavior.

also add test to `array/sortBy` without a callback (make sure it uses identity function).

this might break some code that expects the internal `makeIterator_` method to return `null` or `undefined`... but since this is an internal method I don't think it's a big deal (our code will work fine, all tests still passes).

one downside of the new `makeIterator_` behavior is that it will not throw errors in cases where user forgot to pass the callback, which might make it harder to spot why some code is giving the wrong output, but I think it is an improvement overral since it will increase flexibility and this behavior might be shared among multiple methods (identity is a good default behavior for `array/map` as well).