[CORE] Replace all uses of list_for_each() with list_for_each_entry()

This patch replaces all usess of list_for_each() with list_for_each_entry().

This achieves following improvements for us:
1. Removes the need of "struct dlist" pointer in lot of functions thereby
reducing burden on stack.
2. Remove the use of list_entry() in lot of functions thereby reducing
few instructions in each of these functions.

For consistency we also replace all uses of list_pop() with list_del()
and list_first_entry() functions.

Signed-off-by: Anup Patel <anup@brainfault.org>