astype checks notnull Fixes: #8732
As suggested in issue #8732 if there are no nulls, we skip the nan_safe bit.

needs a vbench for perf comparisons 
 @jreback there are a lot of checks for different dtypes (datetime, timedelta, etc) in the `_astype_nansafe` (https://github.com/pydata/pandas/blob/master/pandas/core/common.py#L2541). I suppose they can't just be skipped at all if there are no nans?
 I think the original purpose was to render object types safe (as in an actual python object)
so for example datetime should be ok 

but needs some investigation
 You are right needs a bit more work.
