Refactor FaunusCompiler to allow for getting job status

This patch splits FaunusCompiler into two classes. The first factors out the management of running the multistage job into a FaunusJobControl class. The second class is a FaunusTool that implements the hadoop Tool interface and uses the FaunusJobControl to run the jobs. This makes FaunusCompiler a bit more orthogonal.

This PR closes #164.