sg: Add sg_triangle_area()

sg_triangle_area() computes the area of a spherical triangle
defined by three points.  A simple heuristic decides if the
points are collinear and returns 0.

Also add program triangle_area to read three points from
stdin and write area to stdout.  A radius can be specified
with the -r option.

Also, finally add the 'implicit none' statement to the top
of the module.  This means routines inside the module no
longer need this statement to prevent implicit variables.
Add sphere_tesselate

This module can be used to create an (approximately) even
triangulation of the sphere.  The starting polyhedron is the
icosahedron, which is then refined by taking new points at the
halfway points between the vertices of each triangle, and
converting the face from the previous level into four.