Derry City are into their first FAI Cup Final since 2014 after a 2-1 win over Treaty United at a sold-out Ryan McBride Brandywell.