Separate basePath from baseUrl

The PR allows the same `baseUrl` to work properly for `intern-client`, `intern-runner`, and `client.html`, assuming that intern is being run from the directory containing `node_modules` (the typical case).

- `basePath` is now a fully separate concept from `baseUrl`. Conceptually, `basePath` in the node environment is the same as the web server root when using client.html.
- `basePath` is a general Intern configuration parameter (vs. `baseUrl`, which is a loader parameter) that declares the root path from which files will be served
- `basePath` is only directly relevant to Node (runner, createProxy); it's ignored by the browser client. If not specified it defaults to process.cwd()
- If a relative `basePath` is specified in the intern config, it is relative to process.cwd()
- Relative `baseUrl`s are now relative to the directory containing `node_modules` when using `client.html`. This is different from typical dojo semantics, where a relative `baseUrl` is relative to the loading HTML doc, but it improves consistency between the node and browser environments. (In node environments a relative `baseUrl` is relative to process.cwd(), which is typically the directory containing `node_modules`.)

fixes #249
No. For intern-runner, `basePath` is what controls where files are served from, and it's set to cwd by default. `baseUrl` is relative to `baseUrl` from a file-serving perspective. If it needs to point to a subpath, that's fine.