Remove commented code for absorbing boundary snapshots.

It was commented out almost 3 years ago; I don't think it's going to be
reinstated any time soon.
Remove irrelevant comments.

These are just code review; not actually explaining anything.
Remove code-duplicating comments.

These comments duplicate some other code somewhere else. That's just
confusing, plus they're starting to get out of date now.
build: Remove Pyre checks.

The Pyrized version was removed in 2009, so these checks are not useful.
Fix some of the simpler warnings.
Use MPI_STATUS_IGNORE in MPI calls.

The status is not used, so this saves us an extra variable or two. As
suggested by @jedbrown in another PR for Specfem2D.
Combine duplicate get_global subroutines.

These are all the same save for one loop bound. But that nested loop can
be re-written as a single loop that works for all cases.
Combine duplicates of sort_array_coordinates.

This unfortunately causes a bit of extra allocation for unused
parameters. Hopefully I can find a workaraound for that.
Replace Numerical Routines sorting code.

Numerical Routines source code is not re-distributable in any way at all
and is 100% incompatible with the GPL.

The replacement code originates from the heap_sort.f90 in the global
code. It appears to be a fairly straight-forward translation of the heap
sort algorithm (e.g., from RosettaCode) and should be unencumbered. I
have added additional parameters in order to sort multiple arrays at the
same time. Interestingly, this code is slightly faster than the
previous version.
Remove unused constants.
build: Remove unnecessary cleanup.

Everything in obj/ should be in one of the variables defined in the
subdirectories. Especially when doing make clean in a subdirectory, the
entire point is to not delete all objects. The new modules were not
correctly listed in the rules, which is probably why this was added.
Remove get_value_* subroutines.

All they do is copy the default value to the result. This also removes
several copies of OUTPUT_FILES_PATH named as OUTPUT_FILES, so we save a
small bit of memory. There were even two copies of these routines.
Remove another unused constants file.
Remove more dead code.

These are all commented out or unused, especially variables for which there
isn't even any commented code to use them.
Normalize case of Fortran keywords.
Fix inconsistent indenting.

I hope I found everything... It seems like there was a lot of copy and
paste in the compute_* files, resulting in pretty inconsistent indents.
Fix up Par_file reading.

Remove the common blocks for the parameter file parsing. I think having
the subroutine return an error as an argument seems more Fortran-y.
Also, the calls to err_occurred in meshfem and specfem are useless as
read_value_parameters would have called stop already.

This is essentially a port of the same change from the global code.
Fix up mesher Par_file reading slightly.

This is similar to the change in the shared code. Really, we should just
replace this parser with the one in the shared code, which is more
robust. But there are the two Materials and Regions sections that are
non-standard to worry about.
Add -ggdb to recommended gfortran debug flags.

Without this flag, most backtraces are useless since there's no line
number or even function name.