BUG: iloc misbehavior with pd.Series: sometimes returns pd.Categorical instead
#### A small, complete example of the issue

```python
# Your code here
>>> type(pd.Series([1,2,3]).astype('category').iloc[0:1])
<class 'pandas.core.series.Series'>

>>> type(pd.Series([1,2,3]).astype('category').iloc[np.array([0, 1])])
<class 'pandas.core.categorical.Categorical'>

```

#### Expected Output
Both should return a pandas Series object

#### Output of ``pd.show_versions()``

<details>
pandas version = 0.18

</details>
