Add task package (#1)
* Add task package.
* Update task package.
* Make task package works as expected.
* Add task examples.
* Add task stats and error handler.
* Add Coordinator.
* Update coordinator.
* Bugs fix.
* Add more examples.
* Some fixes.
* Add test cases.
* Add go.sum.
* Change coordination implementation to setnx.
* Fix no at time periodic schedule.
* Limit job execution time; limit worker count.
* Add jobLock, add Remove and Clear job methods in scheduler.
* Add ClearJobs; Update OnceJob scheduler implementation.
* Add redis cluster support for coordinator.
* Move Coordinate to Run; add unit tests for Coordinate.
* Extract commonJob from OnceJob and PeriodicJob.
* unexport cron expression type.
* Add JobCount.
* Add timezone support in cron.
* Add Stop for Scheduler.
* Add coordinate for oncejob.
* extract coordinate to commonJob.
* Update unit tests.
* Add GetLatestScheduledTime.
* Move unit test into a separate package.
* Add start flag for scheduler.
* make some functions and methods unexported.
* Add examples for task.
* Change IntervalType to cronIntervalType.
* Add comments for exported items.
* Add task tutorial.
* Update README.
* Update README.
* Update go.sum.