Add Python compiler to run-bindings-tests

This adds Python checks to run-bindings-tests.
This means we can guarantee that the compilers are in sync!
We also can skip test IDLs that aren't fully implemented.

We may want to split this CL up (CG fixes separate from adding Python
to tests), if it's too much for one go.

This also refactors main.py in run-bindings-tests (to make adding easier),
and fixes some inconsistencies and bugs in the Perl and Python CGs.

The inconsistencies are mostly blank lines (easy fix, but rebaseline),
but there is one significant one, and it was an unnoticed bug, due to
path handling.

Namely, the "own class" header include was *wrong* in all tests;
it read like:
>include "bindings/bindings/tests/idls/TestInterfaceEmpty.h"
...with a duplicated "bindings".
Also in normal bindings code we had the ugly "bindings/../core".
This is because there was a hard-coded assumption that the scripts
were being called from "bindings" (via GYP), but run-bindings-tests
actually runs from a different directory, hence the discrepancy.

I fixed this by doing the path handling properly, and now it's correct,
clean, and consistent.

I've added one test here, TestInterfaceEmpty.idl, just so the Python
code actually runs on *something*. We can activate or add future tests
as we implement them, and it'll help review, but I wanted to keep this
CL as compact as possible.

Review URL: https://chromiumcodereview.appspot.com/23232007

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