Differential Topology and Geometry with Applications to Physics