Use the override the package.name with the jam.name if provided.

This allows the jam package name to be different than the original
package name. Needed when converting packages over from other package
managers, and for packages with a "something.js" name.
Allow defining more packages in the jam section.

This helps porting over existing projects so that you don't have to
create a jam package for all the dependencies that are already in the
source of the current project.
Work for issue #86
Added fully qualified path when dealing with proxy servers.  They require validation of the requested endpoint when getting and installing packages.
Work for issue #97
Tweaks to the workings of @ryanramage to tidy up the settings file a little. Additionally have added some unit tests to ensure validity of package names.
add ability to pass in custom values for the require.config.js
add ability to pass in custom values for the require.config.js
add ability to pass in custom values for the require.config.js
Fix additional shims being added to config
Add to rebuild command
Fix for r.js - simpler too
Deep merge of configurations
Alway call completeAuth callback with parsed url.

If completeAuth is called with an authenticated url (e.g. 
`http://USERNAME:PASSWORD@myjamjs.com/jam`) it calls the callback with
the original unparsed url however if the url requires authentication
(e.g. `http://myjamjs.com/jam`) then it calls the callback with an
already parsed url.

In the case of the publish command this results in the calling doPublish with a
url object.
Merge pull request #116 from maxpeterson/master

Always call the completeAuth callback with a parsed url
Merge pull request #112 from toddb/master

Additional requirejs configuration from package.json
Merge pull request #108 from redbadger/issue/gh97

Tweaks for issue 97
Merge pull request #107 from redbadger/issue/gh86

Proxy Server Support
Merge pull request #105 from ryanramage/issue/gh99

Allow defining more packages in the jam section.
Merge pull request #102 from ryanramage/issue/gh98

Use the override the package.name with the jam.name if provided.
make initial require config argument to updateRequireConfig optional, fixes some issues with #112
test stderr for error messages in integration test for publishing packages with invalid names, #108