IDL compiler: Partial interfaces (basic)

This adds support for partial interfaces to the Python IDL compiler.
(There are other features, which I'll do in followups.)

The changes to the code generator are minimal;
the main complexity is in include path handling (partial interfaces require
an include), which we've centralized in compute_dependencies.py

This CL distinguishes full paths and include paths consistently
(for interfaces, partial interfaces, and implemented interfaces),
and stores the include paths for dependencies, so the CG can just read them.

The main changes to compute_dependencies are pretty minimal:
just compute and store include_path for partials and implemented interfaces, not just main interfaces.


Notes:
* The added test file (partial interface) only results in a dummy generated file, so this won't bloat diffs.
(In future I'll get rid of these dummy files.)
* The Perl code (HeaderFilesForInterface) adds these includes for *every* member of a partial interface or implemented interface, which is v. redundant.
This simplifies and clarifies it by doing it once, at the overall CG level.

Also a bit of cleanup in compute_dependencies.py:
(I can split this off if that helps review.)
* Rename 'file_name' => 'filename' for consistency (both were in use)
* Rename 'generate_*' => 'write_*' for functions that write a file (both were in use).
* Organize and label sections
* ...and a few comments on tricky parts

Previous preliminary CL:
IDL compiler: Move include path handling to compute_dependencies
https://codereview.chromium.org/137993002/

BUG=239771
R=haraken

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

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