Use package location if one is specified

I ran into an issue when trying to use the package config to build a project, where the config is:

```js
({
    baseUrl: ".",
    optimize: 'none',
    cjsTranslate: true,
    paths: {
      lodash: './node_modules/lodash/lodash'
    },
    packages: [{
      name: 'bluebird',
      location: 'node_modules/bluebird',
      main: './js/main/bluebird.js'
    }],
    name: "knex",
    out: "knex-built.js"
})
```

I was getting the error:

```sh
Tracing dependencies for: knex
Error: ENOENT, no such file or directory '/Users/tgriesser/Github/knex/bluebird/js/main/global.js'
In module tree:
    knex
      lib/raw
        lib/common
          lib/promise
            bluebird/js/main/promise
```
In this case, it was resolving relative package paths relative to the `main` file, which wasn't using the `location` to find the correct path. So it was doing:
```sh
/Users/tgriesser/Github/knex/bluebird/js/main/global.js
```
rather than
```sh
/Users/tgriesser/Github/knex/node_modules/bluebird/js/main/global.js
```
This pull request adds a check to see if a location is defined and if so replaces appropriately in the package name.