Add script that helps with updating the Vcpkg package.

Kind of a hackjob, that assumes vcpkg is already checked out
and is next to the Catch's directory.
diff --git a/scripts/updateVcpkgPackage.py b/scripts/updateVcpkgPackage.py
new file mode 100644
index 0000000..299e9f3
--- /dev/null
+++ b/scripts/updateVcpkgPackage.py
@@ -0,0 +1,114 @@
+#!/usr/bin/env python
+
+import io, os, re, sys, subprocess
+import hashlib
+
+from scriptCommon import catchPath
+from releaseCommon import Version
+
+print(catchPath)
+
+default_path = '../vcpkg/ports/catch/'
+
+def adjusted_path(path):
+    return os.path.join(catchPath, path)
+
+def get_hash(path):
+    BUFF_SIZE = 65536
+    sha512 = hashlib.sha512()
+    # The newlines should be normalized into \n, which is what we want
+    # If reused use 'rb' with a file written with io.open(newline='\n')
+    with open(path, 'r') as f:
+        while True:
+            data = f.read(BUFF_SIZE)
+            if not data:
+                break
+            if sys.version_info[0] < 3:
+                sha512.update(data)
+            else:
+                sha512.update(data.encode('utf-8'))
+    return sha512.hexdigest()
+
+def update_control(path):
+    v = Version()
+    ver_string = v.getVersionString()
+
+    # Update control
+    lines = []
+    control_path = os.path.join(path, 'CONTROL')
+    with open(control_path, 'r') as f:
+        for line in f:
+            lines.append(line)
+    with open(control_path, 'w') as f:
+        for line in lines:
+            if 'Version: ' in line:
+                line = 'Version: {}\n'.format(v.getVersionString())
+            f.write(line)
+
+def update_portfile(path, header_hash, licence_hash):
+    print('Updating portfile')
+    v = Version()
+    ver_string = v.getVersionString()
+
+    # Update portfile
+    lines = []
+    portfile_path = os.path.join(path, 'portfile.cmake')
+    with open(portfile_path, 'r') as f:
+        for line in f:
+            lines.append(line)
+    with open(portfile_path, 'w') as f:
+        # Two things we need to change/update
+        # 1) Link and hash of releaseCommon
+        # 2) Link and hash of licence
+        # We could assume licence never changes, but where is the fun in that?
+        first_hash = True
+        for line in lines:
+            # Check what we are updating
+            if 'vcpkg_download_distfile' in line:
+                kind = line.split('(')[-1].strip()
+                print(kind)
+
+            # Deal with URLS
+            if 'URLS' in line and kind == 'HEADER':
+                line = '    URLS "https://github.com/philsquared/Catch/releases/download/v{}/catch.hpp"\n'.format(v.getVersionString())
+            if 'URLS' in line and kind == 'LICENSE':
+                line = '    URLS "https://raw.githubusercontent.com/philsquared/Catch/v{}/LICENSE.txt"\n'.format(v.getVersionString())
+
+            # Deal with hashes
+            if 'SHA512' in line and kind == 'HEADER':
+                line = '    SHA512 {}\n'.format(header_hash)
+            if 'SHA512' in line and kind == 'LICENSE':
+                line = '    SHA512 {}\n'.format(licence_hash)
+            f.write(line)
+
+
+def git_push(path_to_repo):
+    v = Version()
+    ver_string = v.getVersionString()
+
+    # Move to the repo dir
+    old_path = os.getcwd()
+    os.chdir(path_to_repo)
+
+    # Work with git
+    # Make sure we branch off master
+    subprocess.call('git checkout master', shell=True)
+    
+    # Update repo to current master, so we don't work off old version of the portsfile 
+    subprocess.call('git pull Microsoft master', shell=True)
+
+    # Create a new branch for the update
+    subprocess.call('git checkout -b catch-{}'.format(ver_string), shell=True)
+    # Add changed files (should be only our files)
+    subprocess.call('git add -u .', shell=True)
+    # Create a commit with these changes
+    subprocess.call('git commit -m "Update Catch to {}"'.format(ver_string), shell=True)
+    # Don't push, so author can review
+    print('Changes were commited to the vcpkg fork. Please check, push and open PR.')
+
+header_hash = get_hash(adjusted_path('single_include/catch.hpp'))
+licence_hash = get_hash(adjusted_path('LICENSE.txt'))
+update_control(adjusted_path(default_path))
+update_portfile(adjusted_path(default_path), header_hash, licence_hash)
+
+git_push(adjusted_path('../vcpkg'))