ENH/CLN: make Timestamp repr valid python code, like datetime does.
In the same vein as #3038 , make `repr()` output valid python code where feasible. I find this not
being the case inconvenient for example when issues contain code examples, 
and the data needs to be recreated by hand rather then merely copy pasted.

```
In [2]: zs=[Timestamp('99-04-17 00:00:00',tz='UTC'),
   ...: Timestamp('2001-04-17 00:00:00',tz='UTC'),
   ...: Timestamp('2001-04-17 00:00:00',tz='America/Los_Angeles'),
   ...: Timestamp('2001-04-17 00:00:00',tz=None)]
   ...: for z in zs:
   ...:     print repr(z)
   ...:     assert eval(repr(z)) == z
Timestamp('1999-04-17 00:00:00+0000', tz='UTC')
Timestamp('2001-04-17 00:00:00+0000', tz='UTC')
Timestamp('2001-04-17 00:00:00-0700', tz='America/Los_Angeles')
Timestamp('2001-04-17 00:00:00', tz=None)
```

Misgivings?

looks ok to me
 Great ENH.
