Update to NuGet.Core 2.8.0.
Only go to the mirror server if there is only mirrored versions of the package.

Previously, this would keep going as long as you had 1 version that was a mirror.
Added Logic to always go to mirror if the mirror is on the same machine or if the config value (alwaysCheckMirror) is set to true - default is false.
Partial revert of increased internal buffer size.  Increasing size is very expensive.

Instead, added an error handler to detect a InternalBufferOverflowException.

This is following the MSDN recommendations when using a filewatcher.
Fix GetUpdates from Visual Studio GUI

Use version constraint greater than current version when client omit it.
Cleanup PackageFileSystemWatcher.
Split AlwaysCheckMirror setting into subclass

Remove additional flag that checks if origin is on localhost.
(Users can already enable behavior with the config setting.)
Merge branch 'mirroring'