Nova Scotia PC MLA Marco MacLeod has resigned as energy minister following "difficult conversations" on the impact of misogynistic rap lyrics he wrote before entering politics.