Small fix in DEVGUIDE.html docu

- If we work the DEVGUIDE step-by-step we will be in /src
- In order to get to tests we need to step out
Adding links to Perl and NUnit in DEVGUIDE.html
Refactoring the ILComparer tool project so that it can build from source, instead of requiring a checked-in binary (changeset 1225430)
Move the hosted compiler infrastructure over to the open repo and refactor projects so that it builds from source rather than requiring a checked-in binary. (changeset 1225435)
Add required plumbing so that one can build FSharp.Core for portable profile 47 in open repo (Requires rebuild of Proto so that portable targets file gets dropped) (changeset 1225504)
Add script to build test tools from source (changeset 1225556)
Allow user to specify what build flavor they want to run tests against, debug or release. (changeset 1225561)
Update docs to reflect recent changes (changeset 1225564)
Fixing defines for portable profile 47 FSharp.Core to align with what ships in Visual Studio F# (changeset 1226720)
Reconfiguring a bunch of tests that were hard-coded to use Visual Studio paths to find FSharp.Core and other F# bits.  They will now use open-built bits when run from an open repo. (changeset 1226736)
Fixing a couple of typos from the previous checkin (changeset 1226793)
Use folders in FSharp.Compiler.fsproj
remove non-existent file in solution
Add folders to FSharp.Core.fsproj
Add strong name validation skip for test library FSharp.Compiler.Hosted (changeset 1227695)
Update open build to target .NET 4.5 and MSBuild 12.  This aligns the open build with what ships in VS 2013 and F# 3.1.1 OOB.

Also stripping out some unnecessary configuration checking - 'net40' is the only supported TargetFramework for building the compiler, build libraries, and type providers. Only FSharp.Core supports other target platforms. (changeset 1227697)
Fixing typo in TESTGUIDE
[F#] Slicing and range expression inconsistent

Slice expressions (ex., e1.[e1..e2]) looks similar to range expression (ex., [| e1 .. e2 |] ) but their behaviors are not consistent when length < 0. For example, [| 1..10 |].[3..1] raises overflow exception while [| 3..1 |] evaluates [| |]. In this shelveset, length check is added consistently for array/string slice expressions, so their behaviors looks consistent.

Additionally, for open-ended slices (e.g., m.[1..] or m.[..5]), exception would raise for invalid range. (changeset 1231622)
Fix for fsbugs issue "can't run F# Console Application with 'update' in name".

Root cause was that compiler was not embedding a win32 manifest into generated executables, thus all EXEs were running virtualized and at the mercy of "Installer Detection Technology" (see http://technet.microsoft.com/en-us/library/cc709628(v=WS.10).aspx for heuristics used).  EXEs with "update", "install", etc in their file names triggered the heuristic and required admin privs to run.  Trying to start these from VS would not work unless you were also running VS as admin.  The old logic used to decide whether to embed a manifest was tied to .NET version and had drifted out of date.

New logic is to embed the default manifest for all EXEs unless there is some specific config that precludes this.  New test added to validate that a manifest is present for EXE, absent for DLL. (changeset 1232952)
Starting to add tests for discrimanted unions.