Basic timeout / queue logic for getTitle and addResult

This pull request contains the basic logic for timeouts in getTitle / addResult. 

Clients can now request jobs from the server via getTitle.

A setTimeout with on an arbitrary timeout (10000 ms for now) is called for each job handed out that should implement the job fail logic (i.e whether we would like to place the test in a separate queue, or assign it a higher score... etc). 

addResult currently just calls clearTimeout on the timeoutID corresponding to the title of the test that was just sent in.

It's set up this way because much of the schema is still very generic for now and addResults could potentially dictate how we end up handling the stats queries. It might be helpful to decide soon what we actually need to save in addResults before proceeding.