PackageSourceProvider can read feed credentials from environment variables.

When PackageSourceProvider loads package source information it will now
look at the environment variable NuGetPackageSourceCredentials_<source>,
e.g. NuGetPackageSourceCredentials_MyGetFeed. If that environment variable
has credentials of the form Username=<user>;Password=<password> it will use
those, instead of the ones that might be in the config file.

If the environment variable does not exist, or the value is malformed it
will be ignored, and PackageSourceProvider will fall back to config
credentials if they are present.

Why do we need this? I'm glad you asked! If you're running NuGet package
restore on a CI server and you use private feeds you basically have two
possibilities now:

 1. Store all NuGet config info on each buildagent in the AppData folder.
    This is annoying because we want to avoid state on build agents.

 2. Store a NuGet.config in the repository with a cleartext password.
    It can't be encrypted because the encryption is done at the user level
    so if I encrypt on my machine it will not work on the build server.
    Storing passwords in plain text in repositories is bad, so I definitely
    don't want to do that.

Most (all?) CI systems allow you to specify environment variables to pass
to the build. The good ones also allow "secure" environment variables,
so their values won't be logged anywhere. This is where I want to keep my
credentials, in the CI server configuration.

So, with this patch can add the environment variable

NuGetPackageSourceCredentials_MyFeed : Username=john;Password=johnspass

on the CI server and everything will work like I want when running the
package restore command.
Added .btproj to project white list
Avoid infinite loop when redirecting output

Under Mono, System.Console.WindowWidth returns 0 when output is
redirected (via a pipe or to a file). This caused an infinite loop in
Common.Console.PrintJustified.

This fixes issue 3408.
added DevExtreme project type support
https://www.devexpress.com/Products/HTML-JS/
Fixed loading PCLs by using ApplyPolicy when resolving dependent assemblies.
Started extracting NetPortableProfileTable into a non-static class
Completed refactoring of Portable Profile Table into non-static class
Added code to serialize/deserialize portable profile tables
Add new constants to support TDS projects
create the nupkg name from the nuspec fields
Package-id and package-versions called incorrectly for NuGet feeds not hosted on the domain root.
Merge branch 'anurse/exportableportableprofiletable'
Fixed code analysis errors
Fixed test failures
New dependencies have been added to the NuGet.exe ILMerge call.
Merging pull request 6190 for improved Uri matching in SettingsCredentialProvider
Merging pull request 3916
Added the v3 shim to NuGet.exe
Merge remote-tracking branch 'maartenba/master'
Adding InvariantCulture to a String.Format