cycler: initial commit of cycler

This is the first worthy commit of cycler to the proper repository
as it has some test coverage, some runtime testing, and should
be of some use as is. It will require much refinement before
it should be used in prod however or on buckets with critical data.

There are additional effects, options, policies, etc. that will
need to be written.

BUG=chromium:1035045
TEST=../run_tests.sh

Change-Id: I0fe62b4e2f3c9425ba6fbb21e41f7197eb66ff44
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/go/+/1984605
Commit-Queue: George Engelbrecht <engeg@google.com>
Tested-by: George Engelbrecht <engeg@google.com>
Reviewed-by: Dhanya Ganesh <dhanyaganesh@chromium.org>
Reviewed-by: Sean Abraham <seanabraham@chromium.org>
27 files changed