Make the integrate_* functions public

These functions are meant to be used by the user if needed, so in order to
avoid compiler warnings, we make them public.
Change n == 0 to abs(n) < epsilon(1._dp)

The condition really is to make sure "n" is positive enough so that we don't
have numerical problems with the 1/n operation. Using epsilon() seems to be a
good fit for this case.
Change a == b to abs(a-b) < tiny(1._dp)

Here we test if the variable "a" is equal to the same number provided by the
user in "b". Typically we are just testing if there was an a=b assignment in
the past. So the tiny() function seems appropriate for this case.
Remove unused subroutine
Make all auxiliary subroutines public

These are subroutines that the user might want to use in the future, but are
currently unused by any part of the code. This commit makes them all public, so
that the compiler does not warn us about them.
Modernize F77 code

Gcc 4.8 requires the loop label to be at the "END DO" line, so we make this
change in this commit. This only affects the special functions evaluation code
in tests/well/special.f90, which was written in F77.
Merge pull request #19 from certik/warnings

Fix Compiler Warnings