New class PETScWallClockTimer and Modifications in classes of RunTime and CPUTime

As Dimm suggested. I subtracted this PR from  #487 specially for classes  of  ``PETScWallClockTimer``, ``RunTime``, and ``CPUTime``. With the modifications in ``RunTime`` and ``CPUTime``, member ``stop()`` was removed. @TomFischer and @endJunction ,please take a look.

PR #487 will be closed temporarily due to the ``reset node ID`` issue, and it will be reopened once a FEM (say for a simple elliptic problem ) is completed in  the official repository. 
For the case if we use assign the same meaning to ``OGS_USE_MPI`` as that for OGS5. Of course, name  ``OGS_USE_MPI`` is not  perfect for such case. We can have options for different parallel computing approaches using MPI, and use preprocessor ``ÙSE_MPI`` to include MPI environment.