Make client-side module names contain their paths

This revamps how cleint-side modules are named so that they include their path. This allows allows you to write module imports using relative paths as you would in Node.js with `require()`.

When modules are being compiled and when the dependency graph is generated, all relative imports are resolved against the importing module's own path, relative to some base path.

Also, the YUI config has been updated to split the vendor scripts from the ES modules.

Fixes #272
Add default `basePath` value for module graphing
Fix module names in Windows
Use `url.resolve()` to resolve module names

Since module names are URL path-like, this uses the `url` module to resolve the names and handles issues with Windows compatibility.
Rename client-side Starter-Kit modules

This renames, and re-organizes the modules to make more sense when their names are paths.
Re-organize the Starter-Kit modules, _again_
Merge pull request #273 from ericf/module-names

Make client-side module names contain their paths