Calculates dates and durations whilst taking into account weekends, holidays and working hours