patch 9.0.1390: FOR_ALL_ macros are defined in an unexpected file

Problem:    FOR_ALL_ macros are defined in an unexpected file.
Solution:   Move FOR_ALL_ macros to macros.h.  Add FOR_ALL_HASHTAB_ITEMS.
            (Yegappan Lakshmanan, closes #12109)
diff --git a/src/popupwin.c b/src/popupwin.c
index 6e1d925..c34ee9f 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -2413,8 +2413,7 @@
 	    win_enter(owp, FALSE);
 	else
 	{
-	    for (owp = curtab->tp_first_popupwin; owp != NULL;
-							     owp = owp->w_next)
+	    FOR_ALL_POPUPWINS_IN_TAB(curtab, owp)
 		if (owp != curwin && owp->w_buffer->b_term != NULL)
 		    break;
 	    if (owp != NULL)