Improved code structure and cmd line options

 - added common test infrastructure for serial and MPI parallel testing
 - added verbose flag, only error messages in non-verbose mode