Enhance CCAN_LIST_DEBUG to report original caller

This patch enhances ccan list when CCAN_LIST_DEBUG is defined so that
any assert hit will report both the list operation and caller source
file and line number back to the user.

I've also added list_empty_nodebug() which skips the debug checks
in the ordinary list_empty() which can sometimes be valid in
threaded environments where you know what you're doing.

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>