Tweaks to enable running headless in the js shell for tests
Various library and translator tweaks/bug fixes so that FSharpExecutable is closer to passing:
  Handle an edge case in ControlFlowSimplifier
  Handle unnamed variables/parameters in StaticAnalyzer (this seems like an ILSpy bug)
  Escape a couple more characters in identifiers
  Make the JS identifier escape logic match the C# escape logic more closely
  Handle undefined/bad type references in FixupInterfaces and BuildTypeList
  Define the name System.IO.TextWriter in mscorlibless environments
  Make it possible for a test to not dump its output JS when it fails, since ReSharper's test runner hangs forever when you dump too much text