Added a version test of the dir patcher
Added some basic integration tests
Made the delta implementation injectable into the patcher

  Unit testing this code without an injected implementation would be near
  impossible so we make the class accept it as a parameter.
Added TODOs to parts that need testing