Fix to obey --build-dir when copying files

Currently, Shifter does not obey the `--build-dir` option for any files it needs to generate with the `copy` directive. Note: In the core library, `copy` is only used in Uploader's [build.json](https://github.com/yui/yui3/blob/master/src/uploader/build.json#L6).

By not respecting `--build-dir`, everything outputs to the yui3 repo's root `/build/` directory.

For example...

    yui3/src/uploader $ shifter --build-dir ../../foo
    [... lots of Shifter output, including ...]
         shifter [info] copying from /Users/derek/src/yui/yui3/src/uploader/swf/flashuploader.swf to /Users/derek/src/yui/yui3/build/uploader/assets/flashuploader.swf

Now let's see what files ended up where.

    yui/yui3/src/uploader $ ls -1 ../../foo/
    uploader
    uploader-flash
    uploader-html5
    uploader-queue

    yui/yui3/src/uploader $ ls -1 ../../foo/uploader/
    assets
    uploader-coverage.js
    uploader-debug.js
    uploader-min.js
    uploader.js

So far so good, let's look at the assets.

    yui/yui3/src/uploader $ ls -1 ../../foo/uploader/assets/
    uploader-flash-core.css

Wait, where is flashuploader.swf?

    yui3/src/uploader $ ls ../../build/uploader/assets/flashuploader.swf 
    ../../build/uploader/assets/flashuploader.swf

It's in `build` instead of `foo`. Doh!

After this update

     yui/yui3/src/ $ find ../../foo -name *.swf
     ../../foo/build/uploader/assets/flashuploader.swf


This change will also require an update to any build.json files that utilize `copy` so the 2nd path will be relative to the output directory.  For instance:

Uploader's original build.json includes:

     [ "swf/flashuploader.swf", "../../build/uploader/assets/flashuploader.swf" ]

Would now need to be:

     [ "swf/flashuploader.swf", "assets/flashuploader.swf" ]

Here is the required update for Uploader's [build.json](https://github.com/derek/yui3/compare/the-case-of-the-missing-swf)

----

To address each specific commit...

484f0247feae279b55b7986faf7c1bfe45b46be5  - `lib/module.js`
This is required so `copy`'s target now factors `buildDir`/`--build-dir` into the equation.  The second parameter is the name of the component (e.g. `uploader`), so the base target path is now the component's sub-directory in the build output directory.  For example, `/yui3/build/uploader/` instead of `/yui3/src/uploader/`.

9ea9588d497de52e6880691d52a80999591ed973  - tests/3-copy.js
Based off the [original build.json](https://github.com/yui/shifter/blob/2a1a01e75b780d4b35c565ff7b4f5cbf4773ebcd/tests/assets/copy/src/in/build.json), it appears that @davglass wanted the output directory to be `/tests/assets/copy/out`.  However, when 484f0247feae279b55b7986faf7c1bfe45b46be5 introduced the fix for copy commands to respect `buildDir`, the target path then pointed to `/tests/assets-global/...` instead of `/tests/assets/...`  This is due to the default [.shifter.json](https://github.com/yui/shifter/blob/6aa4871670e94be615c66df789869a3f99d16f59/.shifter.json), and all Shifter unit tests build to `/tests/assets-global` by default.  In order for this test to output to the intended `/tests/assets/` directory, `global-config` must be ignored.

14d6d91dbf5034ea34936879c3b7a838f9d0268a   - tests/assets/yql/src/uploader/build.json
With the base target path now pointing to the component's directory inside of `buildDir` instead of the source directory (`process.cwd()`), path resolution no longer has to traverse up and over to get into the build directory.