Celtic proved too good for Old Firm rivals Rangers as a 2-0 victory at Hampden Park set up a Scottish Cup final meeting with Aberdeen.