Fix browse page promise chaining
Fix browse page promise chaining

The promises used on the browse columns are not properly chained, which
means that some promises are run before others have resolved.

This has manifested itself when attempting to track the number of
links and sections in a subsection. Because the animation promise was
not correctly chained, the page tracking would fire before the animation
had resolved, and therefore the number of links on the page is incorrect
at the time of tracking.

This change moves all `.done` methods to `.then`, which allows for
dependency chaining; and seeks to return `Deferred` objects from methods
where appropriate, again so that these methods can be correctly chained.

alphagov/collections,alphagov/collections,alphagov/collections,alphagov/collections