text: Title: ISODateTime parse should probably use isoparse or fromisoformat
  Body: Currently `ISODateTime`'s `parse` uses `dateutil`'s [`parser.parse`](https://dateutil.readthedocs.io/en/stable/parser.html#dateutil.parser.parse):
  https://github.com/betodealmeida/shillelagh/blob/7afaf13ec822f8c56895a8aec6ad77a7de2ea600/src/shillelagh/fields.py#L431-L436
  which by default is pretty permissive and handles more format strings than just ISO formats. It is also going to be slower given the number of formats it attempts.
  Better would be to either use [`isoparse`](https://dateutil.readthedocs.io/en/stable/parser.html#dateutil.parser.isoparse) or [`datetime.fromisoformat`](https://docs.python.org/3/library/datetime.html#datetime.datetime.fromisoformat) (there are some caveats with this method).