Added PromiseNeedle
Improvements for PromiseNeedle
ReentryGuard now uses Promise
Changed ArrayPool to use ReentryGuard and Promise
Rece condition improvement

Promises are queued before attempting to execute

Note: I need to chain promises, first Work must return Promises