job manager implementation

Changes:
- added Twitter Snowflake-like UID generator
- added WaitPool thread pool implementation, will place stuff in queue and spawn later
- added PriorityPool will spawn according to watermark settings
- integrated both pools into pipeline, WaitPool is more suitable for single node tasks, while PriorityPool is used for
multinode (cluster) tasks
Merge pull request #12 from pkit/job_manager_2

job manager implementation