Style-fixes to hacking/core.py

Makes a few small style-cleanups:

    * Removes need for duplicated empty __init__ methods
    * Changes `return(` to `return (`
    * Turns `_has_run_registry` from a global dict to a class-scoped set
    * Moves GIT_REGEX to the class that uses it

Change-Id: I3b15b74fe5006461edf3a28c62674ba152a07249