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.

The naming convention has already proven useful. I happened to notice `reduce(add, 0)` and thought _We don't need (curried) `add` here, do we?_ The answer is no, so I replaced it with (uncurried) `_add`.