Remove unnecessary #include statements.

For system headers, they basically do nothing but take up extra lines.
Fix build rules for executables.

Since the exectuables were never mentioned by full path, they would be
rebuilt unconditionally.
Correct dependencies for module files.

Without the correct dependencies, parallel builds fail due to missing
modules.
Add scotch files to .gitignore.
Remove scotch from specfem2d Makefile.

It's only used in the mesher, and the search path was wrong when used
here anyway.
Move constant_Q2_sub function closer to its use.

Also, move it away from the NR functions.
Use proper ANSI prototyping.
Fix calls to exit function.

Just placing the word exit there does nothing.
Remove unused variables.
Remove unnecessary macros.

* MAX can be replaced by fmax.
* SIGN can be replaced by copysign.
* PYTHAG can be replaced by hypot.

The last two require C99, but since we require Fortran2003, I don't
think that's a big deal.
Use proper C indexing.

No more of this pseudo-Fortran indexing. It's odd and causes unnecessary
work (to be fixed).
Remove unnecessary allocations and loops.