changed 2d boundary to use macros for indexes.  changed reduce to use 'real' instead of 'float'.  added texture wrap lookups to match boundary conditions.  added fixed mirror functions in place of a dimension-based parameter.  changed poisson relax 2D to be more flexible like the 3D equivalent.  soon to merge all these similar 2D-3D codes.