Python patches

When applying patches, the code will now look for corresponding python patches that need to be applied (a python patch that corresponds to an SQL patch is a similarly named file. E.g., if there is a `patches/2.sql` patch, the corresponding python patch would be `patches/python_patches/2.py`). Not all SQL patches will have a python patch, but every python patch must have an SQL patch.