Feynman-Kac Formulae: Genealogical and Interacting Particle Systems with Applications