metadata.rb should be compiled into metadata.json before uploading

All dependencies should have their metadata.rb compiled into metadata.json if a metadata.json file is not present before uploading to a Chef Server.

This is especially important for dependencies using the `path` and `git` locations.

The compiler should compile the metadata relative to the dependency's project root.

Reference tickets on why:
* https://tickets.opscode.com/browse/CHEF-4811
* https://tickets.opscode.com/browse/CHEF-4810