process < 1.1.0.2 requires directory < 1.2.

Fixes #1498.
(cherry picked from commit f024ce631a28c5ce25e8c73cfd2f84e4020af1a6)
Better error message.
(cherry picked from commit d21a4b2978a679ca6eb4fae63c36d38f258d748b)
Run selected executables only

Passes the extra arguments to 'cabal run' to the build phase so that
only the requested executables are built. Fixes #1503.
(cherry picked from commit 5a62f4ab40dc8216cfb487be49372db16a85231c)
Only pass executable name from run to build

run allows for other arguments than the executable name i.e. arguments
to pass to the executable when we run it. We need to filter these out
from the extraArgs we pass to build.
(cherry picked from commit 9092b59a045485c164d1b758601d0422aa18f70f)
Revert "Only pass executable name from run to build"

This fix is incorrect since "--" was already stripped out of extraArgs.

This reverts commit 9092b59a045485c164d1b758601d0422aa18f70f.
(cherry picked from commit 37af946a3e58056695f1ecaed92143705e677bb9)
'cabal run': don't pass any extra args to build except the exe name.

See the comments on 5a62f4ab40dc8216cfb487be49372db16a85231c.
(cherry picked from commit a307cad11540c482096ebae5fe641e1d45857a04)
Remove Distribution.Client.Compat.Exception

Since GHC 6.12.3 is no longer supported, it's no longer necessary.
(cherry picked from commit 9db7db03bfeda5ceb746300aa41af2b08ac1da65)
GHC-7.6+ on ARM does support -threaded

Thanks to Austin Seipp <austin@well-typed.com>
(cherry picked from commit 03712ed182f3ef4f77f4d59c73e1e3ce71de16a6)
Add -L flag to `curl` usage in cabal-install/bootstrap.sh for redirects
(cherry picked from commit d071907c352928fb94b2db80ea669c9bf0bf3714)
Bump cabal-install version number to 1.18.0.2
Update Cabal version in bootstrap.sh to 1.18.1