Series/DataFrame lookup values behave inconsistently
One feature about DataFrame that I found uncomfortable is the inconsistency of results:

```
x = pd.DataFrame({'A': [1,2,3,4,5]}, index=['a','b','c','d','e'])
x.loc[['a', 'f']]  # fine, value of 'f' is numpy.nan
x.loc[['f']]  # throws 
```

When developing data applications, I spend lot of time fixing this issue.  I think we should make it more consistent. Either always returns (preferred) or always throws.
