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.
You are forgetting that methods *must* have the same named arguments as the generic. Hence you can't have the `dataset_list` method have first argument `dataset` and the `site` method have first argument `site` (see below)