Involution: The Formal Theory of Differential Equations and its Applications in Computer Algebra