[NuGet] Support solution specific NuGet.Config files.

NuGet allows a solution to have its own NuGet.Config file which can
define extra package sources.

http://docs.nuget.org/docs/reference/nuget-config-file

The NuGet.Config files are loaded as a chain. For a solution in the
directory c:\a\b\c the following directories are checked by NuGet for
a NuGet.Config file:

    c:\a\b\c\.nuget\nuget.config
    c:\a\b\c\nuget.config
    c:\a\b\nuget.config
    c:\a\nuget.config
    c:\nuget.config
    User specific config file, %AppData%\NuGet\nuget.config.
[NuGet] Fix solution events doing unnecessary processing.

Create single instance of project service so the SolutionLoaded and
SolutionUnloaded events are not used in multiple project services.
Previously a breakpoint in the project service would be hit several
times when a solution is opened or closed which is confusing and also
means extra processing is being done when it is not needed.
[NuGet] Fix wrong package sources being used when updating a package.

On updating a package all the enabled package sources are used. On
changing the enabled package sources, after opening a solution, the
original set of enabled package sources were being used.

The change to support solution specific NuGet.Config files broke the
original behaviour since the package sources are reloaded when a
solution is opened or closed and the package repository cache was
still using the original set of package sources.
[NuGet] Show warnings for package sources that cannot be reached

Previously when a package was updated any warnings logged by NuGet
about package sources that could not be reached was not displayed  by
MonoDevelop. Now the warning message is logged in the Package Console
window.
[NuGet] Support installing specific package version.

The Add Packages dialog can now search for all versions of a package.

Search syntax supported:

    PackageId -version
    PackageId -v
    PackageId -ver

This returns all versions of the package ordered with the latest
version first in the list.

The package id must exactly match the package id otherwise no results
will be returned.

In the list of packages the package version is displayed instead of
the download count when a search is run for multiple package versions.
This makes it easier to see the versions without having to select each
package in the list. The download count is displayed for all other
searches.
[NuGet] Package version search is now included with original query

Move package search text into its own class so it can be parsed
and checked for the package version search parameter. Pass this new
search class around with the original query so the package version
search is not applied to the wrong search results.
[NuGet] Support searching for specific package version.

In the Add Packages dialog, specifying a version number in the search
will filter the package results return the package that exactly
matches the version specified.
[NuGet] Support searching for a range of NuGet package versions.

Add an implicit wildcard to the version number when searching for
NuGet package versions.

   NUnit -v 1        => NUnit 1.*        1.0 ≤ v < 2.0
   NUnit -v 1.2      => NUnit 1.2.*      1.2 ≤ v < 1.3
   NUnit -v 1.2.3    => NUnit 1.2.3.*    1.2.3 ≤ v < 1.2.4
   NUnit -v 1.2.3.4  => NUnit 1.2.3.4    v == 1.2.3.4

If Show pre-release packages is enabled then pre-release versions are
shown in the results and the implicit wildcards apply.

   entityframework -v 6.1.0  => 6.1.0, 6.1.0-alpha1, 6.1.0-beta1

If the version specified cannot be parsed then all versions will be
returned.
[NuGet] Make package version search option case insensitive.
address the problems with version.config missing in the tarball, and the scripts directory.
do not call scripts/configure.cs in the tarball, because it tries to resolve the version from the git history
fix previous commit, need to escape dollar signs in makefile
Merge branch 'master' into nuget-monodevelop-5.1
improvement: the valid buildinfo file is now copied to the tarball
Updated reference to md-addins
[TextEditor] Improved text editor loading performance.
See assistly case #73863. During open a very long line could block the
file open performance noticable long. Now a best guess of the line
length is done & the longest line is determined during line creation.
That should speed up loading by a large margin. OTOH it only works
100% on monospaced fonts, but on non monospaced fonts the editor width
is adjusted during scrolling and it's a fair guess for the initial
horizontal size.
Update README.md

Describe some common user problems that most users will have when trying to compile monodevelop on their own.
Updated newtonsoft.json
Fixed 'Bug 20253 - Error during code completion of
System.Globalization.CultureInfo.'.
Fixed 'Bug 20234 - Expand Selection command selects whole conditional
blocks instead of expressions'.
Fix shared projects compat issue with VS

Don't create or save build configurations for shared projects.
Don't add the location prefix to the DependentUpon property of files.

Fixes bug #20257 - Some shared projects created by XS can't be opened in VS.