setup_haskell_sandboxes - detect sandboxes that failed to install

Previously, any sandbox that is marked as "Pending" (which is to be installed
by our script) will be regarded as successfully installed, even if the
installation actually fails.

This is corrected by using Process.wait on the spawned installation process,
along with a check on the exit code in $? . Based on $? , we determine if
a "Pending" sandbox is successfully installed.

Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>