[RFC] Add FOR_ALL_BUFFERS helper

There is `FOR_ALL_WINDOWS` and `FOR_ALL_TAB_WINDOWS` thought `FOR_ALL_BUFFERS` might be handy as well.
I believe this idiom works for the cases where the variable was used in the loop but is referenced in the outside scope. Setting to `NULL` initially will catch the case where we loop through completely and the variable would have been `NULL` before as a result. Setting the outter variable in the place we break catches the other exit case.