build ramda.js from multiple source files

Compare the output of the following commands:

```command
$ ./scripts/build -- lib/head.js
```

```command
$ ./scripts/build -- lib/head.js lib/tail.js
```

```command
$ ./scripts/build --complete
```

__ramda.js__ is built by running the last of these commands. If the `VERSION` environment variable is set (by xyz, for example) its value is used in the version string in the header (see #617).

Modular builds have been discussed in #577 and elsewhere. This pull request gives us the ability to create extremely granular custom builds. Only the requested functions are exported, and functions not required by any of the requested functions or any of their dependencies are not included at all.

There is a reason, though, that I didn't entitle this pull request "support custom builds". We don't expect users to create custom builds by specifying hundreds of filenames. We'd like to support something like this:

```console
$ ./scripts/build --category logic --category math
```

That change should be fairly easy to implement, but I'd like it to be reviewed and discussed in a separate pull request once this has been merged. This pull request is already large enough!

I'll add further comments in situ.

I made some changes to this function to avoid having mutually recursive functions introduce a circular dependency.