Foundations of Algebraic Topology