Topology of Algebraic Varieties and Singularities