BUG: Fix pd.Timedelta(None) to return NaT.
- [ ] closes #xxxx
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

Before this commit pd.Timedelta raised ValueError
when None is passed.
This behavior is inconsistent because
- pd.Timestamp(None) and pd.Period(None) return NaT
- pd.Timedelta returns NaT if '', 'nat', 'NAT' or np.nan
  is passed

This PR is related to https://github.com/pydata/pandas/pull/13687#issuecomment-233204955

## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/13723?src=pr) is 84.57% (diff: 100%)

> No coverage report found for **master** at 6efd743.
> 
> Powered by [Codecov](https://codecov.io?src=pr). Last update [6efd743...5e29ad9](https://codecov.io/gh/pydata/pandas/compare/6efd743ccbf2ef6c13ea0c71b7b2e2a022a99455...5e29ad99ac992d48941597cf2afdc75f47052bf2?src=pr)
 Actually, regarding no arguments, Timestamp raises in that case:

```
In [2]: pd.Timestamp(None)
Out[2]: NaT

In [3]: pd.Timestamp()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-3-384f27778dc4> in <module>()
----> 1 pd.Timestamp()

pandas\tslib.pyx in pandas.tslib.Timestamp.__new__ (pandas\tslib.c:9160)()

TypeError: __new__() takes at least 2 positional arguments (1 given)
```

So not sure if we should let it here return NaT.
 no `pd.Timestamp()`, `.Timedelta()`, `.Period()` are errors, passing `None` is ok though as better to be explicit.
 Rebased and updated.
 pls add a whatsnew note.

FYI, PR's always need notes & tests & sometimes doc updates. These are often much more effort, than the actual code change. Esp for tests these need to be done upfront.
 Sorry I misunderstood what sinhrks said. I added a whatsnew note.
Thanks for your advice.
 thanks, whatsnew [here](https://github.com/pydata/pandas/commit/2c047d4fbe88e7462ec82314f58d014e7b0ad54e)
 😍  Thanks!
