Changes implemented

For creating a more flexible and robust code I decided to introduce
many changes:

- internal Date class to simplify date conversions
- every method which returns one or more dates returns datetime.date
object
- every method which receives one or more dates accepts datetime.date
objects or ISO formatted dates
- new factory method Calendar.load to create a calendar from a calendar
specification file
- new method Calendar.load_holidays to load holidays from files