Major rewrite of specialized_api to properly track job invocations, in order to allow simultaneous runs of the same flow
Fixes print of wrong URL when the same job is invoked multiple times during the same flow
Some flow code cleanup made possible by the more dedicated API
Fix _pgrep failing if process exits right after being found
Display info about why a job is queued
Some minor cleanup
Fix illegal characters in 'cause'
Test improvement and requirement comment
Fix test: Does not depend on cli being present
Don't run in parallel when testing against Hudson. It can't cope.
Always run script_api tests in parallel
Corrections to usage
Fix test permission problem when Jenkins and Hudson are run as different users
Comment
Improved/corrected test documentation
Fix some test fixtures to run with Hudson
Need () for + if else
Fixes for Hudson REST API incompatibility with Jenkins REST API -
  Hudson job invocation returns job URL instead if queue item URL -
    Implemented invocation tracking logic similar to older version, using
    latestBuild instead of queue item tracking should correctly handle
    multiple invocations of job in single flow, but simultaneous runs of
    the same flow is not guaranteed to track the correct jobs in Hudson
  Some coverage exclusions depending on Jenkins or Hudson
Test connecting to web server which is not Jenkins or Hudson
Implemented Kill/Abort flow -
  - SIGTERM aborts current flow (all builds invoked by currently running flow)
  - invoking a flow with argument kill_all=True, aborts all running builds
    of jobs defined in flow
  TODO: remove jobs from queue

Don't retry jobs if aborted
Some minor output tweaking
Test 'abort' also when not mocked
Fix queued test: the message is different on the first run
Minor cleanup to 'kill flow'
Removed some debug print
Improved kill flow print
Also remove queued jobs when aborting flow