draw_state: Fix Microsoft C++ assert

The C++ runtime library was issuing an assert on the following line:
for (vector<CMD_NODE*>::iterator ii=pCB->pCmds.begin(); ii!=pCB->pCmds.end(); ++ii) {

It was complaining that the iterator ii was not compatible with the
pCmds.end(). Tracing down the assert, the C++ library did not like the
fact that we were accessing pCmds through a pointer (pCB). If we made a
local copy of the pCmds vector the assert went away.
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index af1c478..5bfe41d 100644
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -1373,7 +1373,8 @@
         char str[1024];
         sprintf(str, "Cmds in CB %p", (void*)cb);
         layerCbMsg(VK_DBG_MSG_UNKNOWN, VK_VALIDATION_LEVEL_0, NULL, 0, DRAWSTATE_NONE, "DS", str);
-        for (vector<CMD_NODE*>::iterator ii=pCB->pCmds.begin(); ii!=pCB->pCmds.end(); ++ii) {
+        vector<CMD_NODE*> pCmds = pCB->pCmds;
+        for (vector<CMD_NODE*>::iterator ii=pCmds.begin(); ii!=pCmds.end(); ++ii) {
             sprintf(str, "  CMD#%lu: %s", (*ii)->cmdNumber, cmdTypeToString((*ii)->type).c_str());
             layerCbMsg(VK_DBG_MSG_UNKNOWN, VK_VALIDATION_LEVEL_0, cb, 0, DRAWSTATE_NONE, "DS", str);
         }