move Distance class to hooks module
finish removing setUp from DistanceTest

I had to do this for the tests that use the config, so I thought I might as
well finish the job.
replace Distance.sorted() with .items()

This is an effort to make the distance object feel slightly more dict-like.
The name changed and order of tuples is reversed: we now yield (key, value)
instead of (value, key), which I think is a little more intuitive.
move track length params out of weights section

These aren't really weights, so I'm moving them out of "distance_weights".
add keys() method to Distance
parameter name change
documentation enhancements for new config opts
don't duplicate penalty names in max_rec section

This is for maintanability: in the future, when we add new distance penalty
components, now we won't have to list them twice in the default config.