Create lockdown test for tag cloud

The tag cloud appears to have 100% code coverage, but it turns out that
there are no assertions regarding this part of the code, it just runs
without raising any exceptions.

Run the lockdown test with `bundle exec rake test:lockdown`.

The lockdown test is an `approval` test, meaning that whatever you
previously approved is considered the correct result.

The first time you run the test there is no previously approved result,
so the test will fail.

To make it pass copy the `.lockdown/received.html` file to
`.lockdown/approved.html`. By doing this you _approve_ the current
output as being correct.

If you run `bundle exec rake test:lockdown` again, the test should pass.
Create a tag cloud class

This duplicates the code in the controller.

We are calling the new class from the controller, but we are not yet
using the results. This ensures that the code can run without raising
any exceptions.
Use the tag cloud in the stats controller
Clean up tag cloud

Rename some variables to contain less redundancy, move comments that are
still relevant, delete comments that aren't helping.
Extract SQL queries in tag cloud
Delete duplication in TagCloud

Change the tag cloud so that initializing it with or without a cutoff
makes the decision about whether or not to restrict the result set, and
then create two different tag clouds in the controller.
Use cloud objects in view

This allows us to get rid of several instance variables in the
controller. Passing around reference to objects rather than a handful of
primitives is also a nice improvement.
Collapse duplication in stats tags partial
Extract all the methods in TagCloud
Finish refactor
Merge branch 'iteration10'