Handle exceptions and errors better.

Summary:
1. There were places where exceptions were silenty eaten up. This
   is a probem when debugging error cases.
2. The System was not shutting down cleanly wen ti encountered
   errors. The System.exit() hangs because it waits for an elegant
   shutdown to occur, which involves all threads to voluntarily
   exit. Instead, invoke Runtime.halt.
3. The bin/linkench was not picking up the libraries stored in the
   lib directory.

Test Plan: Run linkbench.

Differential Revision: https://reviews.facebook.net/D8835