Implement effective overload set algorithm
Implement effective overload set algorithm

To implement the overload resolution algorithm, I'm going to first
implement basic algorithms from the spec (*without* changing
generated code), then incrementally switch existing interfaces to
the proper algorithm (changing the generated code).

This implements the "effective overload set" algorithm:
http://heycam.github.io/webidl/#dfn-effective-overload-set

The code isn't very Pythonic, but it's directly from the spec.

Next will be 'distinguishing index'.

R=haraken
BUG=293561

Review URL: https://codereview.chromium.org/274503003

git-svn-id: bf5cd6ccde378db821296732a091cfbcf5285fbd@173625 bbb929c8-8fbe-4397-9dbb-9b2b20218538

Bysmyyr/blink-crosswalk,kurli/blink-crosswalk,modulexcite/blink,smishenk/blink-crosswalk,jtg-gg/blink,nwjs/blink,Pluto-tv/blink-crosswalk,XiaosongWei/blink-crosswalk,Pluto-tv/blink-crosswalk,Bysmyyr/blink-crosswalk,hgl888/blink-crosswalk-efl,PeterWangIntel/blink-crosswalk,ondra-novak/blink,XiaosongWei/blink-crosswalk,smishenk/blink-crosswalk,kurli/blink-crosswalk,Pluto-tv/blink-crosswalk,nwjs/blink,PeterWangIntel/blink-crosswalk,jtg-gg/blink,PeterWangIntel/blink-crosswalk,modulexcite/blink,nwjs/blink,PeterWangIntel/blink-crosswalk,ondra-novak/blink,modulexcite/blink,hgl888/blink-crosswalk-efl,crosswalk-project/blink-crosswalk-efl,smishenk/blink-crosswalk,crosswalk-project/blink-crosswalk-efl,smishenk/blink-crosswalk,nwjs/blink,modulexcite/blink,hgl888/blink-crosswalk-efl,kurli/blink-crosswalk,smishenk/blink-crosswalk,Pluto-tv/blink-crosswalk,Pluto-tv/blink-crosswalk,XiaosongWei/blink-crosswalk,Bysmyyr/blink-crosswalk,Bysmyyr/blink-crosswalk,kurli/blink-crosswalk,kurli/blink-crosswalk,modulexcite/blink,jtg-gg/blink,XiaosongWei/blink-crosswalk,Pluto-tv/blink-crosswalk,Bysmyyr/blink-crosswalk,Bysmyyr/blink-crosswalk,nwjs/blink,modulexcite/blink,hgl888/blink-crosswalk-efl,kurli/blink-crosswalk,crosswalk-project/blink-crosswalk-efl,smishenk/blink-crosswalk,crosswalk-project/blink-crosswalk-efl,PeterWangIntel/blink-crosswalk,modulexcite/blink,hgl888/blink-crosswalk-efl,ondra-novak/blink,Pluto-tv/blink-crosswalk,nwjs/blink,nwjs/blink,XiaosongWei/blink-crosswalk,nwjs/blink,crosswalk-project/blink-crosswalk-efl,XiaosongWei/blink-crosswalk,smishenk/blink-crosswalk,XiaosongWei/blink-crosswalk,XiaosongWei/blink-crosswalk,jtg-gg/blink,ondra-novak/blink,smishenk/blink-crosswalk,Bysmyyr/blink-crosswalk,Bysmyyr/blink-crosswalk,jtg-gg/blink,hgl888/blink-crosswalk-efl,modulexcite/blink,jtg-gg/blink,hgl888/blink-crosswalk-efl,PeterWangIntel/blink-crosswalk,modulexcite/blink,Bysmyyr/blink-crosswalk,jtg-gg/blink,kurli/blink-crosswalk,Pluto-tv/blink-crosswalk,ondra-novak/blink,kurli/blink-crosswalk,crosswalk-project/blink-crosswalk-efl,PeterWangIntel/blink-crosswalk,kurli/blink-crosswalk,PeterWangIntel/blink-crosswalk,smishenk/blink-crosswalk,hgl888/blink-crosswalk-efl,crosswalk-project/blink-crosswalk-efl,crosswalk-project/blink-crosswalk-efl,PeterWangIntel/blink-crosswalk,jtg-gg/blink,ondra-novak/blink,ondra-novak/blink,hgl888/blink-crosswalk-efl,modulexcite/blink,Pluto-tv/blink-crosswalk,nwjs/blink,XiaosongWei/blink-crosswalk,hgl888/blink-crosswalk-efl,nwjs/blink,smishenk/blink-crosswalk,XiaosongWei/blink-crosswalk,Pluto-tv/blink-crosswalk,jtg-gg/blink,jtg-gg/blink,ondra-novak/blink,ondra-novak/blink,PeterWangIntel/blink-crosswalk,crosswalk-project/blink-crosswalk-efl,kurli/blink-crosswalk,Bysmyyr/blink-crosswalk