Final results of magnetic monopole searches with the MACRO experiment