Inconsistent Behavior of cut when labels=False
``` python
s = Series([0, -1, 0, 1, -3])
ind, label = cut(s, [-4, 0, 1], retbins=True, labels=False)
# label [-4  0  1]
# ind array([0, 0, 0, 1, 0])

s = Series([0, -1, 0, 1, -3])
ind, label = cut(s, [0, 1], retbins=True, labels=False)
# label [0 1]
# ind array([ nan,  nan,  nan,   1.,  nan]) 
# Should the 1 be a 0?
```

I recall that there always used to be an implicit out of range level. It seems like the second example still acts like the (-inf, 0] exists. 

I could test the ind for nan to handle this, but wanted to make sure it wasn't a bug.
