Devoncarew harness refactoring

Some refactoring to move the error and completion display code from the `harness_push.dart` library to the `spark.dart` library. The `harness_push` code is largely UI agnostic - it's better to have the caller of that code know how to display error's to the user.

@shepheb for review