* Create bust_page service and spec
* Specify spec with .once
* Create bust_tag service and spec
* Create bust_event service and spec
* Create bust_podcast service and spec
* Add bust_article service
* Make timestamps lambdas
* Remove nil safe operators
* Updated bust_article specs
* Add spec for TIMEFRAMES and relative time
* Refactor edge caching logic to live in EdgeCache::Service
* Rename EdgeCache::Service to EdgeCache::Buster
* Reorganize some code, move from Buster to Bust naming
* Turn CacheBuster into a module
This class used no internal state, so repeatedly creating short-lived objects seems wasteful.
* Consistently use string interpolation and parenthesis
* Destructure arrays into meaningful names, formatting
* Fix request spec for internal classified listings controller
Interestingly this works when asserting directly on the module, but not on a double.
Asserting directly in the module seems sufficient for this test so the indirection
was removed.
* Turn CacheBuster into a module
This class used no internal state, so repeatedly creating short-lived objects seems wasteful.
* Fix specs after rebasing