[tint] Update insertion point in InsertAfter()

When inserting multiple instructions using `InsertAfter()`, it's
reasonable to expect that the instructions created inside the lambda
retain the order that they are created in. This change makes that the
case by updating the insertion point after inserting each instruction.

Add some basic tests for the insertion helpers.

Change-Id: I0eb850675dd9a136818a6b4cadbb63126363ab54
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/203316
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: James Price <jrprice@google.com>
diff --git a/src/tint/lang/core/ir/BUILD.bazel b/src/tint/lang/core/ir/BUILD.bazel
index 99c054a..81ee19e 100644
--- a/src/tint/lang/core/ir/BUILD.bazel
+++ b/src/tint/lang/core/ir/BUILD.bazel
@@ -180,6 +180,7 @@
     "block_param_test.cc",
     "block_test.cc",
     "break_if_test.cc",
+    "builder_test.cc",
     "constant_test.cc",
     "construct_test.cc",
     "continue_test.cc",