Added `freeport`, `async` and `underscore` dependencies

and `require()`ed them in `fork_api_server.js`.
Changes to `fork_api_server#fork()`.

Changes to invokation signature:

> `fork(debug, onmessage)` -> `fork(node_module, onmessage)`

* Target Node module is no longer hardcoded in `fork()`. It is passed in as
  the first variable.
* Debug mode is determined by `fork()` internally instead of being
  passed in as a parameter.

Updated calling code in `test/test-api.js`.
Made `fork_api_serer#config()` async. Ports chosen automatically.

* Exported the new `config` function as a property of `exports.fork`
* Using `fork_api_server#config()` in:
  - `lib/fork_api_server`, spawning API server
  - `lib/request_topic`, port selection for requests against API
  - `test-api`, API server assertions