Add brkfix to goma, feedback needed

Looking for feedback on brkfix integration

Here is a better diff of what was modified in goma https://gist.github.com/wortiz/3f673e874a3f6f1fa80f

Documentation describing the interface can be found here: https://github.com/wortiz/goma/blob/brkfix-fb/docs/parallel_integration.md

I added a new file called `brk_utils.c`

I also added `brk_exo_file.c` and `fix_exo_file.c` under brkfix which are mostly copies of brk.c and fix.c but with an easier to use function interface for goma.

I haven't broken any backwards functionality as far as I know, my input file additions are optional and goma will still run in the same fashion if run without the new options

Basic usage:

```
goma -a -i input -brk brkfile
```

or specify brkfile in input file with `Brk file`

goma must be run in serial to create a brkfile and will exit if run on parallel with -brk or `Brk file` specified.

If the brkfile exists then goma can be run in parallel

```
mpirun -np 4 goma -a -i input -brk brkfile
```

`-brk brkfile` again can be specified in the input file, and goma will "fix" the output exodus file based on the `Fix Frequency` card, if the fix frequency isn't specified goma will only fix the output at the end of main.c after the problem has been "solved"

I still need to add a -fix flag which will fix the broken exodus files manually (similar to fix executable)


So I tried to mirror the manual with this doc file, so under Problem Description File means they are placed in the Input file.

So Brk file and Fix Frequency can be specified there as any other input card is, I also made them optional and brk won't run unless Brk file is specified or goma is used with -brk

Currently it auto generates brk files when run on 1 processor and the brk file specified does not exist