LSM statistics

Alex, here's what I was suggesting when we talked the other night.  Basically, I added an automatically generated function that aggregates data-source statistics (hopefully it will be usable by table at some point, not just LSM).   I then re-worked the LSM statistics code to open each underlying source and call that function to aggregate its statistics into a new data-source stats structure.

I also made another change: Michael's change to guess what statistics should be scaled per second isn't going to work, the heuristic isn't good enough.   I've changed it so we automatically generate a list of the statistics we want to scale per second and stuffed that list into the tools/statlog.py script.   I don't like this change much, it's pretty ugly, but I think it will work.

Can you please do a review?

I'm going to comment in the diff on a few things I changed that I think might be worth a closer look when you review.

And, if you hate this change, feel free to just say no to all or any of it.