Enable limiting the duration of called processes

We've recently hit an issue where pylint wasn't terminating in a
timely fashion, this is a plumbing fix which will enable a fix for
that.

Patch set 2: Improve test reliability by being less strict on the
             overall duration when checking the timeout is applied.

2014-07-05 Patch set 3: Stylistic improvements from review.

Change-Id: I664ee580a47c118840a2c8c83ca61f3b85efdf09
Limit the time pylint can run for

It appears that some inputs can cause it to run for a very long
time, which is bad for a number of reasons. This ensures that it
can't run for more than a couple of seconds, avoiding that issue.

2014-07-05 Patch set 2: Rebased.
2014-07-05 Patch set 3: Switch to using 'null' as the default timeout
                        value to match no-timeout value.

Change-Id: I60b0580a7d9be9362604dfbfd86831a708fd8a11
Merge changes I60b0580a,I664ee580

* changes:
  Limit the time pylint can run for
  Enable limiting the duration of called processes
Update the static logo with a smaller file.

This is compressed via https://tinypng.com/, and appears visually
indistinguishable despite being a 70% smaller file.

Change-Id: Ia278dbaeea36dbb6badd8ff3dd19d5dc07028c88
Fix line endings.

Change-Id: If2f97f490393e0655beaa96a93d1e317153970f4
Fix and test unlock of file not actually locked

Previously this would emit a PHP error in one case, which wasn't
what was intended.

Change-Id: I3c3b0119f6e8268e2bb25b63fd42d23d59424999
Add sections to test.

Change-Id: I3568904ff744c2092535ce6f16d8fe9b955cb0ef
Introduce local variable for clarity before extending

Makes it easier to work with rather than doing a map lookup each
time around.

Change-Id: I19c8fcbf0c75aea2645fab4379e6e576b5039927
Remove redundant second arugment

This appears to have been left over when we switched to handling
locks via helpers rather than locally.

Change-Id: I00137acdb038a5a24cbc6755139bba2604effea5
Introduce much more useful variable names

Change-Id: I89294228239418d164aa41825f08e784b185441e
Slightly simpler submodule expansion

Change-Id: I4309f2a0f25072e49f6ff0107993de2da9a5531b
Add a Travis CI runner script

Change-Id: I34c6e7cf03a298521c125bb74b4164edb996000c