Fix long lines in follows function.
Rename followSet to followOps.
Tighter bounds checking.
Whitespace fix.
Checkpoint with refactoring follows.

I factored out the two longest cases, insert/insert and retain/retain. This is a
good start but it would be nice to see if there is a more fundamental
simplification/refactoring that can be done.
Remove createReturnObj helper.
Cleanup.
Declare followStartLength next to followEndLength.
Notate private helpers with leading _
Remove unused symbol.
Rename follows to transform.
Renamed follows.coffee to transform.coffee
Remove DeltaGen depon specific attrs and alphabet.

Instead, just pass in a "domain" specifying a valid alphabet and attributes for
the Delta. Client needs to specify boolean vs nonboolean attrs, though if we
want to get fancy we can remove that restriction and just infer it based on
values internally.
Bug fix in decompose fuzzer.

We need to be deep copying deltaA, not simply assigning the pointer. Otherwise,
when we test decompose, we are merely decomposing the delta against itself.
Bug fix: getRandomString expects alphabet.
Remove hardcoded attrs in decompose test.
Refactor DeltaGenerator as utils instead of class.
Require client provide DeltaGenerator with domain.
Validate the domain.
Don't pass alphabet to getRandomString.