Finding consistency between classes.

This standardizes most function variable and list names to `lower.case` format.  Fixes minor bugs and creates `*_list` classes for datasets as well as downloads.  Bugs remain.
@SimonGoring Yep, if you name arguments in the generic, you *must* use those name arguments in the methods. If you use `foo(x, ...)` then `foo.bar` must have *at least* `x` and `...` as arguments.