Added a reversePatch method to reverse a unidiff patch

Added a reversePatch method to reverse changes made by a patch. Very handy for developing versioning software as this way you can always get back to an original file by reverse applying patches!