Use the MERGE_ICS_CONF_FILE environment variable if provided to find the config file and fallback to '/etc/merge_ics.cfg'
Use from_ical instead of from_string and to_ical instead of as_string.
Update the readme to indicate the dependency to icalendar
use the UID as eventId and fallback to the concatenation of start + end + summary
Addition of a find_components_by_uid function that returns all the components of a calendar with the same name and id
fixup! Addition of a find_components_by_uid function that returns all the components of a calendar with the same name and id
Make sure the newcal component have uids and use those to know whether the event has already been inserted
Change the algorithm to add a new feature.

Use a map of components indexed by uid to store the components and
add them to the calendar only at the end of the script.

There is no more the possibility to have duplicate entries since
they are stored into the map. Nonetheless, the IGNORE_DUPLICATE
still makes sense since it indicates to ignore duplicates as
well. The fact is that if an entry is not ignore, it overrides the
previous instead of being added like done previously.

Moreover, the IGNORE_DUPLICATE may be passed the string Latest
that compares the values of the sequence attribute to know which
component is the latest and then should be kept. For instance, if
you record all the ics got by google calendar mail alert, they are
a lot of duplicate, but since it correctly uses the sequence
attribute, it is easy to find out the latest one and to ignore the
previous ones.