Local Cohomology: An Algebraic Introduction with Geometric Applications