Phylogenetic Networks: Concepts, Algorithms and Applications