formalize function style and naming

Commit message:

> 1.  Top-level helper functions are defined via function statements:
>
>          function _add(a, b) { return a + b; }
>
> 2.  Names of top-level helper functions are underscore-prefixed.
>
> 3.  Exported functions are referenced by alias when used internally:
>
>         R.project = useWith(_map, pickAll, identity);
>
>     In this example `pickAll` and `identity` are aliases for `R.pickAll` and `R.identity` respectively.
>
> 4.  Aliases for exported functions match property names of the `R` object. Aliases are not underscore-prefixed.
>
> 5.  Function expressions should be named rather than anonymous. These names should not be underscore-prefixed.

For reasons discussed in #131, I would rather not be making this distinction unless we have a clear-cut performance problem staring us in the face.  I'm probably more sensitive to this after the long thread in #452, where I argued against a blind form of dogfooding.  But I've felt all along that we should be dogfooding a reasonable amount unless we have a performance concern.