Clean up compute_interfaces_info.py and generate_global_constructors.py

This post-split CL:
1. adds documentation and renames functions,
2. makes the call to generate_global_constructors generic
　(so we don't need to add a flag for each global scope!),
3. only passes main interfaces to generate_global_constructors;
　this means we don't need to check for partial interfaces,
　and means that in a followup I can remove [NoInterfaceObject]
　from testing IDLs and implemented interfaces, since we now just don't feed
　these into generate_global_constructors!

2 followup CLs:
* Split out EventInterfaces.in
* Remove [NoInterfaceObject] from tests and dependencies
　(no longer needed, as discussed above)

Followup to:
Split generate_global_constructors.py from compute_interfaces_info.py
https://codereview.chromium.org/173503009/

Split from:
Split generate_global_constructors.py out of compute_dependencies.py
https://codereview.chromium.org/173803006/

BUG=341748
R=haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168126 bbb929c8-8fbe-4397-9dbb-9b2b20218538