Merge pull request #1 from jbehave/master

Update
First step for restructuring cache load mechanism.
- Cache is now not built when it is requested, but when something
changed
- Rebuild is done asynchronously, and only one at a time
- This first iteration is a first hack, no tests nor any proper
segmentation present.
Refactored asynchronous cache rebuild to use Executor interfaces
- Dropped ProcessGroup and recreated MonitoredExecutor (test similar)
- All users of ProcessGroup.spawn() could be converted to Runnable
- Clarified thread separation of scan and completion in Loader
- Final benefit: Easier testing for StepCandidateCacheLoader
- added unit tests for StepCandidateCacheLoader
Code cleanup
- Organized imports (removed unused ones)
- Moved static helper to place of usage
- Renamed variables and types for better meaning
Merge pull request #10 from dertseha/cacheRebuild_async

Cache reload asynchronous