BUG/API: inconsistent name handling in value_counts 
Both `Series.value_counts` and `Index.value_counts` should preserve its name in resulted `Series.name`?  Current behaviors are below:

```
s = pd.Series([1, 2, 1], name='a')
idx = pd.Index([1, 2, 1], name='a')

result = s.value_counts()
result.name, result.index.name
# (None, None)      # should be ('a', None)?

result = idx.value_counts()
result.name, result.index.name
# (None, None)      # should be ('a', None)?

didx = pd.date_range('2011-01-01', freq='D', periods=3, name='a')
result = didx.value_counts()
# (None, 'a')       # should be ('a', None)?
```

```
```
