This doesn't seem like the right approach to me: if the user hasn't defined an app_host_name variable in Capistrano, it is probably because he doesn't need one, not because he wants us to make up a default and pollute the puppet fact namespace with it.  

The reason we fetch app_host_name here is specifically for chopin, which for various involved reasons defines that cap setting as something that depends on something else (so won't otherwise be exported to Puppet because it's a proc not a string).  It's not implausible that other uses of CEP will have other variables defined as procs that they nevertheless need in their manifests, but us trying to guess what they are is IMEAO not the best design.  What we need here is some mechanism for the user to indicate to CEP that it should export particular variables chosen by the user, not a magic means of exporting the particular `app_host_name` variable that they may or may not need

Hope that explanation is clear.  It's only half-clear in my head, so ...