[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.
More tests for discrimanted unions.
!pull \\mlangfs1\public\bundles\FS.ebf2bc4a3064053cefce09afc0bf4ce25f015f82.bundle

Open source pull: Fixing and adding more tests

forki requested forki/fsharp:TESTS to be merged into visualfsharp:master on Wed Apr 9, 2014 at 8:57 AM
 Assigned to: Unassigned   (assign)
 Commits: 1393b5d6df25, 15cc407c35a5, 15f1095ad5bd, 32e136dd521d, 3c57ac29981f, 3decb7c7169d, 4ca05d574a93, 5b729a9e3ad7, 677178cbf04b, 6aa71d1f8752, a255bb7a3489, c0f9e03ff3b3, c8f37ccf7e26, edfac939fcfc, fa12dc3dd83b, ff148db3ae9c
 (changeset 1233272)
Minor update to fix a warning.
Fixing driver script for FSharp suite to properly handle paths with spaces (changeset 1234889)
Fixing up a bunch of tests that don't properly handle fsc/fsi paths with spaces (changeset 1234984)
Fix accidental incorrect quoting in test script (changeset 1235391)
A few more tweaks so that tests work properly in internal test runs (changeset 1235396)
Further tweaks to test scripts (changeset 1235417)
Removing some unneeded/incorrect quotes in TP tests (changeset 1235643)
Fix for default manifest test.  Turns out LoadLibrary chokes sometimes on x86 when loading Debug assemblies.  Switch to LoadLibraryEx, loading binaries as pure data files. (changeset 1236335)
Update command line used to build test DLL for default manifest test, and adding support for $ISCFLAGS in PreCmd, required for internal test runs doing multitargeting. (changeset 1236364)
fix for 37: performance regression in 3.1
merge remote visualfsharp/master