Create simple test framework

Summary:
The test framework makes it easy to create a test and provides methods for:
- starting / stopping / restarting the daemon;
- writting a makefile
- starting a build
- checking that a file is dirty / not dirty
- creating a png image that contains the current state of the graph.

Each test runs in its own temporary directory, which contains a file error.log
that contains any error in case the test failed.

Test Plan: ./test/run-tests.py

Reviewers: NicolasDP

Reviewed By: NicolasDP

Maniphest Tasks: T21

Differential Revision: http://91.121.199.76/D39