Add POE_flow_diagrams
Cleanup Command::Server

Add clarifying comments and remove commented out stuff.
Make runq slightly faster

is_ready is SLOW so we put it at the end of the boolean && chain.
Clean up Server code

No functional changes made, (except logging) just layout and naming
typo
Remove unused heap variable from the UR POE kernel
Refactor Workflow::Server::Remote
Remove cruft from Workflow::Server::Hub

Update worker to use cleaned-up interface too.
Add quotes around hostname.

Accidentally left out when when I refactored earlier.
Seems to lead to errors that look like:

2012-10-08 10:40:13-0500 blade13-4-15: Bareword found where operator expected at -e line 1, near "15.gsc"
2012-10-08 10:40:13-0500 blade13-4-15:  (Missing operator before gsc?)
2012-10-08 10:40:13-0500 blade13-4-15: syntax error at -e line 1, near "15.gsc"
2012-10-08 10:40:13-0500 blade13-4-15: Execution of -e aborted due to compilation errors.
Prepare Workflow for POE::Component::IKC upgrade

With version 0.2200-1 we need to explicitly create
our Responders.  They used to be made in Client->spawn.
Rename opdata to op_instance for clarity

No functional changes
Minor readability changes
Remove unused orphan related code
Upgrade version of POE::Component::IKC to 0.2200-1

This is done in a non-standard way, and is a temporary solution.
In order to have code 'in the wild' that relies on the old version
of IKC we're putting it into the workflow lib directly.

Later, when all code running 'in the wild' is using this version of
IKC we'll upgrade the system installed version and remove this
installation.
Remove locking from workflow server.

Requires upgrade to POE::Component::IKC >= 0.2200-1

The version requirement on IKC is to allow the hub server to obtain it's own
random port instead of the parent process obtaining it and then later the
hub obtaining it from the os (which led to race conditions).

The main purpose of the locking was to block other workflow servers from
attempting to get the same ports by only letting one Server::Remote::launch
instance run at a time.  The locking code was itself vulnerable to race
conditions though.

Now, instead of locking out other workflows from launching, we just let
each workflow get it's own ports and make them communicate back to us
what port they are on.  For this communication we use a named-pipe (fifo)
that allows the hub server to communicate it's location (hostname:port)
to the parent process that can then tell the ur process.  The ur process
no longer is a server and communicates only with the hub.

The remaining locking (which appears to have been put in place to ensure that
the hub and ur processes were fully up and operational before they started to
communicate) was removed and replaced by letting the ur process announce it's
readyness to the hub server.  All messages that were intended to be sent to
the ur process (formerly a server) are sent instead through a passthru on the
hub server.  The passthru keeps the messages in an inventory until the ur
process has announced that it is ready to recieve messages.
Remove old test.

The bug this test was designed to catch has been fixed for some time and
in fact doesn't even make sense now.  I think that we DO want to shut
down if we get SIGCHLD in the middle of starting up a workflow.
Ensure hubd and urd processes have meaningful names.
Stop logfile spam
Make lsftail's Wheel work again

It was getting garbage-collected.
Fix typos

Embarassing