Replaces ProcessThread with Futures. Restructures tests for AbstractProcessStage. Adds possibility for processing timeouts to cause stage JVM restart