[REEF-1756] Add remaining `System.exit()` calls and mark them with `//TODO`s

JIRA:
  [REEF-1756](https://issues.apache.org/jira/browse/REEF-1756)

Pull Request:
  This closes #1278
diff --git a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/REEFLauncher.java b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/REEFLauncher.java
index f763398..c8a124a 100644
--- a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/REEFLauncher.java
+++ b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/REEFLauncher.java
@@ -187,7 +187,7 @@
 
     LOG.log(Level.INFO, "Exiting REEFLauncher.main()");
 
-    System.exit(0);
+    System.exit(0); // TODO[REEF-1715]: Should be able to exit cleanly at the end of main()
   }
 
   /**
diff --git a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/hello/HelloREEFYarnUnmanagedAM.java b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/hello/HelloREEFYarnUnmanagedAM.java
index 7879c29..cfdd81f 100644
--- a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/hello/HelloREEFYarnUnmanagedAM.java
+++ b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/hello/HelloREEFYarnUnmanagedAM.java
@@ -60,7 +60,7 @@
    */
   public static void main(final String[] args) throws InjectionException {
 
-    LOG.log(Level.FINE, "Launching Unnmanaged AM: {0}", JAR_PATH);
+    LOG.log(Level.FINE, "Launching Unmanaged AM: {0}", JAR_PATH);
 
     try (final DriverLauncher client = DriverLauncher.getLauncher(RUNTIME_CONFIG)) {
 
@@ -80,8 +80,7 @@
     }
 
     ThreadLogger.logThreads(LOG, Level.FINEST, "Threads running after DriverLauncher.close():");
-
-    LOG.log(Level.INFO, "Clean exit!");
+    System.exit(0); // TODO[REEF-1715]: Should be able to exit cleanly at the end of main()
   }
 
   /** Empty private constructor to prohibit instantiation of utility class. */
diff --git a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/reefonreef/ReefOnReefDriver.java b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/reefonreef/ReefOnReefDriver.java
index 8bb0b63..ae04436 100644
--- a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/reefonreef/ReefOnReefDriver.java
+++ b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/reefonreef/ReefOnReefDriver.java
@@ -72,7 +72,7 @@
   public void onNext(final StartTime startTime) {
 
     LOG.log(Level.INFO, "Driver started: app {0} :: {1}", new Object[] {this.hostApplicationId, startTime});
-    LOG.log(Level.FINE, "Launching Unnmanaged AM: {0}", JAR_PATH);
+    LOG.log(Level.FINE, "Launching Unmanaged AM: {0}", JAR_PATH);
 
     try (final DriverLauncher client = DriverLauncher.getLauncher(RUNTIME_CONFIG)) {
 
@@ -92,7 +92,6 @@
             new Object[] {innerApplicationId, status.getState()});
       }
 
-      ThreadLogger.logThreads(LOG, Level.FINEST, "Threads running after DriverLauncher.close():");
       LOG.log(Level.INFO,
           "REEF-on-REEF host job {0} completed: inner app {1} status {2}",
           new Object[] {this.hostApplicationId, innerApplicationId, client.getStatus()});
@@ -101,5 +100,7 @@
       LOG.log(Level.SEVERE, "REEF-on-REEF configuration error", ex);
       throw new RuntimeException("REEF-on-REEF configuration error", ex);
     }
+
+    ThreadLogger.logThreads(LOG, Level.FINEST, "Threads running after DriverLauncher.close():");
   }
 }
diff --git a/lang/java/reef-tests/src/test/java/org/apache/reef/tests/examples/TestHelloREEFYarnUnmanagedAM.java b/lang/java/reef-tests/src/test/java/org/apache/reef/tests/examples/TestHelloREEFYarnUnmanagedAM.java
index 568a480..c1df521 100644
--- a/lang/java/reef-tests/src/test/java/org/apache/reef/tests/examples/TestHelloREEFYarnUnmanagedAM.java
+++ b/lang/java/reef-tests/src/test/java/org/apache/reef/tests/examples/TestHelloREEFYarnUnmanagedAM.java
@@ -69,7 +69,7 @@
         "This test requires a YARN Resource Manager to connect to",
         Boolean.parseBoolean(System.getenv("REEF_TEST_YARN")));
 
-    LOG.log(Level.FINE, "Launching Unnmanaged AM: {0}", JAR_PATH);
+    LOG.log(Level.FINE, "Launching Unmanaged AM: {0}", JAR_PATH);
 
     try (final DriverLauncher client = DriverLauncher.getLauncher(RUNTIME_CONFIG)) {