index where, first_index_where, first_value_where, first_valid_value
I've thrown in a few functions which I think are similar (but I've seen a few times asked about). e.g. this [SO question](http://stackoverflow.com/questions/18327624/find-elements-index-in-pandas-series).

User wants to get the index where a criteria is true:

```
import pandas as pd
myseries = pd.Series([1,4,0,7,5], index=[0,1,2,3,4])
print myseries.find(7) # should output 3
```

I guess the usual way is to use:

```
s[msk].index
s[msk].index[0]
```

Or as @jreback suggests (in this simple example):

```
pd.index(s).get_loc(7)
```

Perhaps there should be some methods to grab these out efficiently (i.e. short-circuit in cython)... maybe it makes more sense to have a crit function rather than a mask.

cc @cpcloud 

_also similar to idxmax and idxmin._
