Issue 40997: python 3.8.2: datetime.datetime(1969,1,1).timestamp() yields OSError

Running the following yields an unexpected OSError: Invalid argument:

Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import datetime
>>> datetime.datetime(1000,1,1).timestamp()
>>> datetime.datetime(1969,1,1).timestamp()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 22] Invalid argument

I understand that the time can't yield a valid timestamp, but the exception doesn't really explain that and the documentation doesn't mention OSError as an exception to indicate an invalid date is specified.

Ideally a better exception could be used (ValueError?) or the documentation could mention this possibility?  Or even better, allow timestamp() to take a parameter for what to return in the case of an invalid timestamp (None?)

I mention this because I hit this in some asyncio code which was a nuisance to debug and finding it excepting on a timestamp that had worked before with an OS error baffled me until I got it in a debugger.

Thanks as always!