Update NuGet references to the new compiler NuGet package.
Move OutDir property set before usage in project files for generators.
Add code to MSBuildWorkspace to convert metadata references into project references if the metadata reference is to an assembly that matches a project's output path.  This help recover from failures to interpret project files correctly.

Change CustomWorkspace.AddXXX methods to return the solution/project/document they are adding. (changeset 1289678)
Bugfix 780592 An extra tab inserted after @Functions block completion

Do not format during Commit in Razor Environment

Bugfix 796562 Incorrect comment indentation in Select Case

Comment at the end of a case is not part of the previous case but it belongs to the next case (changeset 1290475)
Fix typos.
     lamda
     compilaton
     compatable/incompatability
     warings
     retrun
     converion
     delagate
     buid
     namepsace (changeset 1290811)
Constructor sequence points are not aligned with breakpoints.

For constructors, we used to get a span for the whole declaration as in Dev12:

          [|public MyCtorName(params int[] values): base()|]

, which are not aligned with how we set the corresponding breakpoint span. This shelveset updates sequence points in a similar way breakpoints are spanned. See more in BreakpointSpans.cs. For the above example, we are going to have the following span:

          public MyCtorName(params int[] values): [|base()|]
 (changeset 1291401)
Add a release config to the CSharpRoslynDiagnosticAnalyzers to make VS happy. (changeset 1291410)
Include implicit constructor in CompileSynthesizedMethods (changeset 1291758)
Implements breakpoint spans for expression bodied members.
Moves expression bodied members feature out of experimental to C# 6.

EnC support for expression bodies and property initializers.
The trickiest part was to recognize EnC edit that transforms an expression body to a block body as an allowed update instead of rude body delete and addition. (changeset 1292109)
Use correct CallerMemberName for calls within field/property initializers. Fixes #152. (changeset 1292556)
CR feedback. (changeset 1292617)
Previously, we would not recommended attributes defined in nested classes in various legal places. This happened because, when evaluating accessibility, we incorrectly checked if the attribute was accessible to the entire assembly. Now, we will check to see if it's accessible to the type associated with the attribute usage, or the type containing the member that the attribute applies to. Unfortunately, we now recommend nested attributes in an illegal location in VB, but I've filed a bug to track this. (changeset 1292708)
Implement closer parity with respect to native in our IVsLanguageDebugInfo.ResolveName implementation (fixes #825398, #928522, #947422).

This is a public API, and there are several consumers within VS.  Previously, we weren't returning strings that resembled those returned by the native language services.  This caused features like 'Break at Function...' (Ctrl+B) to silently fail.  I've also updated all the tests for this service to verify the actual strings returned by ResolveName (rather than just verifying the count of the strings).

Also, I believe this fixes the annoying "Debugging | Resolving name..." dialog that appears while dogfooding Roslyn.sln (no bug filed).
***NO_CI***
 (changeset 1292713)
     A tentative fix for Pri-0 Bug 923512.

     Bug 923512 is a subtle race condition without stable repro steps. An investigation showed that under certain race conditions and in erroneous code the foreach loop binder may create 1 or 2 bound nodes for the collection expression (BoundLocal vs. BoundLocal+BoundConversion) depending on errors found during binding. In particular, this may depend on local name conflicts. It's yet unclear why exactly this condition may vary on different control paths, but I see no reason not to create a BoundConversion in case of name conflicts. This changeset makes a BoundConversion to be created regardless of possible name conflicts (all relevant diagnostics are still created). This changeset might effectively fix this Pri-0 bug and unblock our test runs. Also, it replaces Asserts with FailFasts to enable dump collection on build machines. The bug is still worth further investigation to understand why exactly this race condition happened, but its priority might become lower. (changeset 1292855)
Fix build broken by Changeset 1292855 (ambiguous reference to internal type FailFast accessible through multiple referenced assembles because of [InternalsVisibleTo(...)] attribute) (changeset 1292901)
Implements end-to-end support for #Enable / #Disable (warning suppression) directives in VB. Also enables light-bulb based suppression for warnings (and custom diagnostics) in VB.

Implements following design changes proposed at last week's meeting -

a. #Enable and #Disable directives now only allow diagnostic ids specified as identifiers (e.g. #Disable Warning BC42024). Numeric and string literals (e.g. #Disable Warning 42024, "BC42024") are no longer supported.

b. Identifiers that are used to specify enabled / suppressed diagnostic ids are case insensitive (i.e. #Disable Warning BC42024 and #Disable Warning bc42024 are equivalent).

TODO: Following changes proposed at last week's meeting are NYI -

c. Allow custom diagnostic ids to be specified via /nowarn and /warnaserror and stop validating whether ids specified via these switches are legal compiler warnings.

d. Implement corresponding changes for C# pragma directives and C# command line compiler. (changeset 1292950)
Allow calls to [Conditional] methods unconditionally in LocalRewriter (changeset 1292975)
To support EnC well the compiler needs to carefully distinguish between long-lived and short-lived synthesized variables. Long-lived variables may cross sequence points and thus need to be mapped the the corresponding variables in the previous generation when emitting EnC deltas. Short-lived local variables shall never cross sequence points.

This change revisits helpers that create synthesized variables and assigns each synthesized variable a SynthesizedLocalKind. Negative kind values are reserved for short-lived variables, positive values for long-lived variables.

The change removed the option to give a synthesized variable an explicit name. The names of the variables are assigned at code-gen time based on their SynthesizedLocalKind. This is to enforce that the names of long-lived variables follow a naming pattern that allows use to reverse-engineer the SynthesizedLocalKind value from the variable name.

Also renames DebugInformationKind.PDBOnly to DebugInformationKind.PdbOnly to follow .NET naming guidelines.
 (changeset 1293017)
Misc renames and cleanup (changeset 1293365)
Adding a couple InternalsVisibleToAttributes... (changeset 1293425)