Rewrite

The previous revision had some nasty async code and some superfluous command-line arguments. This revision removes all that, and removes some unnecessary Isolate message validation.

I have made some stylistic changes to how I write Dart code. I have begun to omit type annotations where they seem unnecessary (usually inside of functions).