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/diff.c b/src/diff.c
index a155c5e..6c13d2a 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -2650,7 +2650,7 @@
 {
     diff_T	*dp;
 
-    for (dp = curtab->tp_first_diff; dp != NULL; dp = dp->df_next)
+    FOR_ALL_DIFFBLOCKS_IN_TAB(curtab, dp)
 	if (dp == diff)
 	    return TRUE;
     return FALSE;