Proof-of-concept implementation of starting a "server" for every subproject which listens for task invocation requests, and invokes them.
With this in place, tasks inside the subproject can only be invoked once per session (before they would be invoked multiple times if called more than once).
Really rough code that implements a simple server which is started up when the subproject is included.
Put the threading into session manager which cleans up the code a bit.
Now propagates exceptions
The SessionManager stops holding on to all threads ever created.
Changing more 'print's into 'log's
Always turn off exceptions being thrown for io errors
Updated version to 0.0.2
Put the client and server networking code into separate namespaces. With this in place, the Rake server
code will always come from the gem and only when injected from a parent Rake process.
With this in place, the subproject can also depend on rake-subproject and there will be
no potential name collision. The `Rake::Subproject::Server` module only ever exists as
injected into a subproject's Rake instance and is *never* included in the super-project's Rake instance.