The European Union's controversial free trade agreement with Canada has been approved by the European Parliament, in a move that means the deal could apply provisionally from April 2017.