Deleted attempted unit tests of Locomotive app

Whatever you do, don't test the implementation!
Moved some files

Creates `lib/` directory in `test/` for files that tests depend upon.
Modularized tests
Updated `README.markdown`

Added sections on testing and debugging.
Wrapped `parseInt()` around `port` argv in `app.js`
Updated `scripts:test` in `package.json`.
Added `freeport`, `async` and `underscore` dependencies

and `require()`ed them in `fork_api_server.js`.
Made `fork_api_server#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
Changes to `fork_api_server#fork()` invocation 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`.
Changes to `fork_api_server#fork()`:

`#fork()` now has async interal flow with encapsulated functionality.
Moved locals below local closure definition.
Moved forking into nextTick
Whoopsie.
Merge branch 'fix-test-forking' into dev
Merge branch 'dev'