Added Fortran 90 standard checking; fixed most violations.

The two types of violations that are fixed (in the subset of files
that are aggresively checked) are shared `end do` labels and
`*N` type kind specifiers.  enddo was fixed manually.  I added
kind definitions to kinds_mod.F90 corresponding to real*4,
integer*4, and integer*8.