WIP: Specify LICENSE_KEY in ServiceConfiguration.cscfg

__WORK IN PROGRESS - Please Do Not Merge__

Adds the ability to specify the New Relic license key in the ServiceConfiguration.*.cscfg files. That value is then used as an environment variable when running `newrelic.cmd` to install the .NET Agent and Server Monitor.

An example `ServiceConfiguration.Cloud.cscfg` looks like this:

```xml
<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="Web.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="3" osVersion="*" schemaVersion="2013-10.2.2">
  <Role name="Web">
    <Instances count="1" />
    <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
      <Setting name="NewRelic.LicenseKey" value="1234567890" />
    </ConfigurationSettings>
  </Role>
</ServiceConfiguration>
```

An example `ServiceDefinition.csdef` looks like this:
```xml
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="Web.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2013-10.2.2">
  <WebRole name="Web" vmsize="Small">
    <Startup>
      <Task commandLine="newrelic.cmd" executionContext="elevated" taskType="simple">
        <Environment>
          <Variable name="EMULATED">
            <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" />
          </Variable>
          <Variable name="IsWorkerRole" value="false" />
          <Variable name="LICENSE_KEY">
            <RoleInstanceValue xpath="/RoleEnvironment/CurrentInstance/ConfigurationSettings/ConfigurationSetting[@name='NewRelic.LicenseKey']/@value" />
          </Variable>
        </Environment>
      </Task>
    </Startup>
    <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
    <ConfigurationSettings>
      <Setting name="NewRelic.LicenseKey" />
    </ConfigurationSettings>
  </WebRole>
</ServiceDefinition>
```

### Caution
~~I have a version of this in a custom NuGet package that is used on a production system. I extracted part of that code for this pull request. And while I did test installing and uninstalling this pull request as a new NuGet package in a test project, I have not tested it working in an Azure deployment yet.~~

_UPDATE:_ I created NuGet package based on this pull request and I am using it in a production cloud service.

### Other Notes
When installing this NuGet package, it will check the ServiceConfiguration.*.cscfg file for an existing `NewRelic.LicenseKey` setting. If it exists, the installer will not ask the user for it again. However, the uninstaller automatically removes this setting so it gets removed when an NuGet update occurs. This could be solved if the uninstaller doesn't remove the configuration setting, but then it will remain when the user really wants to uninstall the package completely.