Added a missing constructor in RemotePipeline
Now uses Guava Service abstraction and Jackson for json deserialization

* Added a StageProperties class corresponding to the stage properties
  JSON
* Uses Jackson to deserialize from JSON to StageProperties
* Uses Guava Service and ServiceManager to handle StageThread instances
  (now renamed to StageService instances)
* Removed StageKiller since the main method is now responsible for
  the service lifecycle.