Trim unncessary code in datetime/np_datetime.c
`pydatetime_to_datetimestruct` does a ton of checking that boils down to "is this a valid datetime object?"  Since the function only gets called after a type-check, we can assume it is a date/datetime and be a lot less verbose about it.

This also rips out an unnecessary layer of functions `convert_datetime_to_datetimestruct`, `convert_timedelta_to_timedeltastruct`.

cc @WillAyd you mentioned wanting to work on your C-foo.  There's a comment about figuring out how to import the cpython datetime C-API.  Any thoughts?