Cleanup of MPI-dependencies; New CPP defines

General cleanup of MPI use w/in ConvergentMatrix:
1) MPI_Initialized only checked when needed (in consistency_check() or
save() methods)
2) ENABLE_MPI_HELPERS triggers declaration of MPI type translation from
template type T
3) New CPP defines for activating consistency checks and IO support
Huge cleanup and documentation improvement

- All major user-facing methods now have documentation
- Old (unused) dev debug messages removed
- Consistency checks can now be enabled and disabled at run time (as
  long as they are enabled at compilation)
- Better separation of public vs. private support methods for
  consistency checks
- Unused template param accessor methods dropped
- Remaining GNU-style code formatting removed
Example now sync'd with latest ConvergentMatrix
Conditional MPI_Finalize in example

MPI_Finalize in main() should only be called if it MPI_Init was called
locally (i.e. not by GASNet in the case of the MPI conduit).
Bin and update_task moved to bin.hpp

Also minor documentation cleanup
Added doxygen config and doc make target

Documentation still a work in progress, but getting better