VB EC: Me/MyBase/MyClass

Corrected the parts that were implemented and implemented that parts that weren't.

CR: chucks (changeset 1319449)
Fix a silly typo in AnalyzerDriver constructor, the argument passed to InitialWorkerAsync must be the field continueOnAnalyzerException, not the parameter. This causes an NRE if any of the analyzer throws. (changeset 1319507)
SourceMemberContainerTypeSymbol.SynthesizeInterfaceMemberImplementation - do not treat any explicit interface implementation as a match, look for the specific implemented method instead. Fixes #137. (changeset 1319513)
Fix formatting (changeset 1319615)
Avoid stack overflow on long binary expressions. (changeset 1319674)
EnC: Reuse definitions of synthesized symbols

When emitting a compilation difference we calculate a changeset based on the set of user-defined symbols that changed. This changeset is used to filter out methods that don't need to be compiled (they haven't changed).
     The symbols synthesized during compilation of the user-defined symbols are not known during this phase. Rather than duplicating lowering logic to figure all the set of synthesized symbols that need to be included in the delta we defer this decision till emit time.
     We compile the user-defined source symbols as usual producing new synthesized symbols. Then when emitting tokens for these symbols we decide what to do with the synthesized symbol based on the method that  generated it. (changeset 1319785)
Run DiagnosticsPass on synthesized methods (changeset 1319898)
Add a method to map from an assembly back to the assembly that caused it to be loaded. This is useful if there is an issue with an assembly involved in diagnostics and you want to map it back to a top-level analyzer assembly. (changeset 1320144)
Update the AnalyzerChangesOnDisk test to build the analyzer before using it. This avoids issues with assembly versions, assembly signing, and referencing the correct facade assemblies; all problems that prevented this test from working on our build systems even though it passed locally.
***NO_CI***
 (changeset 1320300)
SemanticModel.GetDeclaredSymbol - return null for Primary Constructor body. (changeset 1320317)
Fix 1006447: Provide caller info in indexer invocations and [ComImport] parameterized property invocations (with and without explicit argument list, and also from object initializers). (changeset 1320366)
Refactoring of EnC local mapping to enable mapping fields of state machines in subsequent changesets.

     Merges FullLocalSlotManager and EncLocalSlotManager into the base class. Instead of subclassing we now delegate the slot allocation implementation to an optional VariableSlotAllocator. If not present, the standard (non-EnC) allocation kicks in.
     Adds CommonSynthesizedLocalKind enum for synthesized variable kinds that should be shared between VB and C#.
     Currently VariableSlotAllocator only provides slots for locals. In subsequent changes it will provide slots for state machine fields as well. Hence it is passed into iterator and async rewriters. (changeset 1320562)
LookupSymbols should not include the script submission class (changeset 1321040)
Additional checks for CS1628 "Cannot use ref or out parameter inside an anonymous method ..." (changeset 1321055)
Stop using the nameof() operator in CompilerServerTests. The current dogfood compiler doesn't understand it. (changeset 1321247)
Replace uint method token with MethodHandle in EnC public API.
Move some code shareable between C# and VB to MetadataDecoder.
 (changeset 1321270)
VB Expression Compiler

Port Me/MyBase/MyClass tests from C#.

Compiler CR: angocke (changeset 1321280)
Mimic native compiler behavior when applying ClassInterfaceAttribute for a "ComClass" (changeset 1321287)
Fixing a couple of policheck violations (changeset 1321338)
Remove need for two attributes on diagnostic analyzers.

Current design of DiagnosticAnalyzers require each analyzer type to have 2 attributes:
1) DiagnosticAnalyzerAttribute: This is defined in Microsoft.CodeAnalysis and is used by
  (a) Command line compilers to detect analyzer types in analyzer assemblies.
  (b) MSBuild and IDE to detect per-project analyzers specified in the project file.
2) ExportDiagnosticAnalyzerAttribute: This is a MEF Export attribute used by the IDE to detect analyzers installed by VSIX extensions and to be used across the entire VS session.

Having two attributes for the same purpose, but for different hosts is redundant. This change includes the following:

1) Change the VSIX based analyzer model to use the VSIX manifest file to specify the analyzer assemblies. The manifest file can specify an "Asset" tag with Type "Microsoft.VisualStudio.Analyzer" to explicitly specify an analyzer asset. Alternatively, an existing Assembly asset or MefComponent asset can specify "HasAnalyzers = True" attribute. IDE will treat these assemblies as analyzer file references for the workspace session and detect analyzers using the compiler layer DiagnosticAnalyzerAttribute.

2) Change DiagnosticAnalyzerAttribute constructor to take a params array of supported languages. Language specific diagnostic analyzers can specify explicit set of supported languages, and all the analyzer hosts will skip loading analyzers for unsupported languages. (changeset 1321554)