Gravar-mail: Efficient algorithms for the reconciliation problem with gene duplication, horizontal transfer and loss