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
removed fallocate for write only channels

zerovm pre-allocates on-disk files by default no need to do it in here
Merge pull request #13 from pkit/job_manager_2

removed fallocate() for write only channels