abstracted route logic into methods

DRY-ed up code by abstracting routes into a number of methods that are
then only written once, rather than thrice
switched routing logic to allow for extension

switched the order of route definition to allow the calendar extension
(.ics) to take precedence.

previously, :country would be UK.ics (or US.ics) when it was expected
to be simply UK, this fixes that issue
changed ambiguous cc to country_code

changed cc to the more descriptive country_code to allow for easier
code comprehension