Remove nested functions for more portable code

Compiling with clang (default on Mac OS X nowadays) threw a bunch of errors since nested functions are a gcc C language extension. -Wno-missing-field-initializers has also been added to the makefile since the line that clang complained about:

```
vpatch.c:2350:21: error: missing field 'outfile' initializer [-Werror,-Wmissing-field-initializers]
        struct plist p = {0};
```

is valid C99 and will indeed be zeroed upon initialization.