Added tests to apply_to_dir method

  With this change we now have the ability to apply and generate patched
  based on folder structures. The remaining functionality that needs to be
  ironed out here is the compression and decompression of the patch itself
  to have 1 resulting file from the diff generation.
Made the plugin support creating and applying targz-d patches

  Previously, only dir-2-dir patch application and generation was supported
  but with this change, you can apply a patch to a folder and generate a
  unified diff file and on the same line apply the unified diff onto a folder.
  Some tests were cleaned up and targz made to have a "proper" filestructure.