Add providerid support

Added new facts under sd_ to state the cloud provider, providerId and projectId (for Google).

This produces that puppet use the new API to better link cloud devices with SD devices.

I don't know how to do the same for rackspace, so that's something pending, if it's possible to do.

@pessoa, @fullmooninu Could you please review these changes?

@dmytton I think we should move agent_key fact under the 'sd_' prefix at some point.

Also, since Facter 2.0, seems like the common prefix should be collapsed inside just an 'sd' key with a dictionary of keys, but I'm not sure what's the best way to use it inside lib/puppet/parser/functions/agent_key.rb and be compatible with older versions of facter so I think is better to use the old approach that will work in older and newer puppet versions.