Separte the revised managerial aspects of the GC daemon from the GC
worker. GC worker resides in new module riak_cs_gc_worker.
Finish seperation of concerns among gc daemon and workers, finish
refactoring daemon state machine, and finish build out of worker state
machine.
File cleanup
Start updates to riak_cs_gc_d_eqc
Fix riak-cs-gc status output

Also remove two unused files
Change state names of eqc_fsm according to riak_cs_gc_d
Simplify weights
Refactor riak_cs_gc_d_eqc
Refactor

Remove unused command handling
Avoid O(N^2)
Add pause handling to start batch command

Also add some error returns
Add eqc test case for gc daemon and workers
Remove unused record field, add some document and calm dialyzer
Strict interval/leeway validation
Do not start worker for empty key
Fix function name in test case which was changed in source
Fix timeout in EQC test
Add comment on #gc_d_state.batch_caller
Fix dialyzer warning
Merge pull request #830 from basho/feature/gc-concurrency-rebased

GC concurrency (rebased)

Reviewed-by: kuenishi