tests: Change error monitor default

Changes the default behavior of the ErrorMonitor to always "expect
success." Previously, all validation errors were ignored unless
ExpectSuccess was explicitly called.

Also includes some other minor test framework fixes/tweaks.
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index 309a634..efe8675 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -40,9 +40,12 @@
     return container.erase(std::remove_if(container.begin(), container.end(), std::forward<F>(fn)), container.end());
 }
 
-ErrorMonitor::ErrorMonitor() {
+ErrorMonitor::ErrorMonitor(Behavior behavior) : behavior_(behavior) {
     test_platform_thread_create_mutex(&mutex_);
     MonitorReset();
+    if (behavior_ == Behavior::DefaultSuccess) {
+        ExpectSuccess(kErrorBit);
+    }
 }
 
 ErrorMonitor::~ErrorMonitor() NOEXCEPT { test_platform_thread_delete_mutex(&mutex_); }
@@ -67,6 +70,10 @@
 void ErrorMonitor::SetDesiredFailureMsg(const VkFlags msgFlags, const string msg) { SetDesiredFailureMsg(msgFlags, msg.c_str()); }
 
 void ErrorMonitor::SetDesiredFailureMsg(const VkFlags msgFlags, const char *const msgString) {
+    if (NeedCheckSuccess()) {
+        VerifyNotFound();
+    }
+
     test_platform_thread_lock_mutex(&mutex_);
     desired_message_strings_.insert(msgString);
     message_flags_ |= msgFlags;
@@ -80,6 +87,9 @@
 }
 
 void ErrorMonitor::SetUnexpectedError(const char *const msg) {
+    if (NeedCheckSuccess()) {
+        VerifyNotFound();
+    }
     test_platform_thread_lock_mutex(&mutex_);
     ignore_message_strings_.emplace_back(msg);
     test_platform_thread_unlock_mutex(&mutex_);
@@ -197,6 +207,10 @@
     }
     MonitorReset();
     test_platform_thread_unlock_mutex(&mutex_);
+
+    if (behavior_ == Behavior::DefaultSuccess) {
+        ExpectSuccess();
+    }
 }
 
 void ErrorMonitor::VerifyNotFound() {
@@ -1875,9 +1889,9 @@
     return VK_NULL_HANDLE != handle();
 }
 
-VkResult VkShaderObj::InitFromASMTry(VkRenderFramework &framework, const std::string &spv_source) {
+VkResult VkShaderObj::InitFromASMTry(VkRenderFramework &framework, const std::string &spv_source, const spv_target_env env) {
     vector<unsigned int> spv;
-    framework.ASMtoSPV(SPV_ENV_VULKAN_1_0, 0, spv_source.data(), spv);
+    framework.ASMtoSPV(env, 0, spv_source.data(), spv);
 
     VkShaderModuleCreateInfo moduleCreateInfo = {};
     moduleCreateInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;