Return Promises from Express middleware and route callbacks