standardized start/end

Previously, two parameters existed for event_start and event_ends, this
pedantic change standardizes it to remove the s in event_ends.
switched url to be a parameter

the icalendar format allows for urls to be defined for objects

this places the url in the corresponding icalendar parameter, rather
than simply in the description.
added event location as a parameter

the icalendar specification allows events to have a location.

this adds the event’s location to the corresponding location parameter
add last updated date to calendar

this (non-standard) field allows for a last-modified date as used by
Apple’s Calendar.app (amongst others)
added a unique id to calendar

the icalendar format expects a globally unique identifier to describe
the software that produced the calendar feed/object.

at present, this is `icalendar-ruby`, which is definitely not globally
unique.

the format is the de facto standard for icalendar feed prod ids.
merge upstream/master
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
Merge pull request #3 from nquinlan/general-changes

slough of general changes to the app