BUG: empty series not printing name in repr (#4651)
Implemented as suggested in #4651

@jtratner this ok I think? (I can rebase on merge)
 needs to check if it has a name, no?

something like:

``` python
attrs = ", ".join("%s: %s" % (attr, val) for attr, val in [('dtype', self.dtype), ('name', self.name)] if val is not None)
return "Series([], %s)" % attrs
```

Also, that will eventually make it easier to handle metadata if we want (I guess)
 well, these are always defined on series, so I think its ok (name could be None of course)
 Right, but it doesn't show it in normal Series repr if None:

``` python
In [2]: ser = pd.Series([1, 2])

In [3]: ser
Out[3]:
0    1
1    2
dtype: int64

In [4]: ser.name = "apple"

In [5]: ser
Out[5]:
0    1
1    2
Name: apple, dtype: int64
```
 so empty series repr would be:

``` python
ser = pd.Series([], dtype=object)
ser
Series([], dtype=object)
ser.name = "apple"
Series([], name="apple", dtype=object)
```

should fix the ordering that I posted there though.

Also, I prefer to put dtype in quotes so you can always copy paste, so that would be a good addition (don't do `%r`, just `'%s'`)
 @jtratner this look ok to me.....I understand you want dtype in quotes, but that is a big change (as its not done elsewhere)
 Not a big deal to me either way - and generally you're not copy/pasting
Series/Frame reprs anyways.
 @goyodiaz can you rebase ?
 I think we omit name if it is `None`, can you make this change?

```
In [1]: Series(name='foo')
Out[1]: Series([], name: foo, dtype: float64)

In [2]: Series()
Out[2]: Series([], name: None, dtype: float64)

In [3]: Series(dtype=object)
Out[3]: Series([], name: None, dtype: object)

In [4]: Series(dtype=object,name='foo')
Out[4]: Series([], name: foo, dtype: object)

In [5]: Series([1,2])
Out[5]: 
0    1
1    2
dtype: int64
```
 I will try to look at this tomorrow.
 thanks!
