Participatory impact pathways analysis: a practical application of program theory in research-for-development