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. 
With this implementation you can use the `REQUIRED`-keyword. What I meant was moving the `FIND_PACKAGE()`-call out of the config-specific scope, see my previous comment.