With most recent Roslyn preview

Not sure you want to pull into master branch though. There is one skipped test, one failed test. The fail is simple, we didn't add enough reference dlls to the compilation, but I'm not sure how it worked in the old version of Roslyn. Can review later.
PlainName was used to avoid trying to match names against compiler-generated types or names, e.g:

    IEnumerable<something_anon>`1

What does the value of `Identifier` look like compared to `PlainName`? We also need to make sure that namespaces are preserved (the implication here being that the CLI expects namespace-qualified type names and will not attempt to do "smart" reference matching)