add mapping for optional hooks element in client config
add list of command hooks to project options
populate command hooks in project options from zanata.xml
Replace run() with performWork() below ConfigurableProjectCommand

    This prepares to split run() into phases to:-

     - run preparatory checks, possibly aborting
     - run "before" command
     - perform work
     - run "after" command

    To avoid the upfront cost of rewriting each implementation, this
    simple rename and wrapper will allow us to update subclasses as
    we have time.
run befores, command and afters in order, abort if any fails.

    Before and after commands will always run without waiting for
    command confirmation, but all remaining commands will be aborted
    if any command fails.

    Since the main use case of commands is to prepare files before
    push, waiting until after the initial analysis and confirmation
    does not make sense. For now I am implementing only the basic
    functionality that meets the use-case.
Merge branch 'master' into add-command-hooks
prevent command hook list being null
move command hooks to top level of Options hierarchy
move handling of command hooks to top of command hierarchy
rhbz978072 add default empty list of command hooks in Maven Plugin
rhbz978072 add javadoc for command hooks and related methods
rhbz978072 show command hook output and ensure child processes will be terminated properly
Merge pull request #2 from zanata/add-command-hooks

rhbz978072 Add command hooks