Patch functionality

Patch
-
This is the basic functionality of patches for Orchestrate. 
It does not implement the functionality for the 'match' functions.

The tests are written very poorly since I have no experience in writing these and need some help with this.

This is my first pull request ever so if anything is wrong please let me know and I'll  try to fix it.