angle(): Refactored interface, added tests and documentation.

The following interface is now in use
 angle(): Compute angles between vectors
 solid_angle(): Compute the solid angle
 dihedral_angle(): You guess it.
The former two take the 'origin' as an optional last parameter, which is by default the origin of the coordinate system.