fallback to datetime if dateutil is not available

We parse input dates and times in ISO 8601 format only

This means that a date, time, or datetime that is output from the API is also valid input, when we fallback to datetime.strptime.

Fixes #4