[dart_runner] Allow exit codes from main()

The exit code from fuchsia.exit(value) was being overidden.

Also, initialize has_set_return_code in DartState.

TEST: Wrote a test that runs goodbye_dart in two modes and checks the
results. Tested the test by changing the return code :)

US-510 #done

Change-Id: I4af2f7927dc0a8e0c784c4eb1377367f3156f498
diff --git a/dart_state.cc b/dart_state.cc
index 886a16f..e02d225 100644
--- a/dart_state.cc
+++ b/dart_state.cc
@@ -22,6 +22,7 @@
       message_handler_(new DartMessageHandler()),
       file_loader_(new FileLoader(dirfd)),
       message_epilogue_(message_epilogue),
+      has_set_return_code_(false),
       weak_factory_(this) {}
 
 DartState::~DartState() {}