Mglin_2D has been split into a class structure.  Mglin_2D is now the
parent class, and there are now two decendents: mgNeumann and
mgDirichlet (which are built to solve the Neumann and Dirichlet Poisson
equations, respectively).  mgDirichlet is just the previously uploaded
solver split into parent/derived class form.  All of the header
interface information is in one header file: multigrid.h.  mgNeumann
does not work almost at all- it is massively numerically unstable.  My
suspicion is the grid size may be off- the grid volumes have side length
ratios of 1 to 2*PI (approx. 1:6.3).  This may be the cause of the
numerical instabilities.
Re-push after problems with GitHub.  Here are the latest versions of all
the important files, which have been updated into a class structure
(both Neumann and Dirichlet), and have been rewritten to accomodate a
different size of grid cell (closer in aspect ratio 1:1 than 1:6).

Also, the initial write of the finite volume files is included as well.
Just barely started.