Prototype string functions
This is a prototype for functions to work with series of strings. There's a lot more to be done if we like the approach, but I wanted to check in before I spent too much time on it.

You can easily map a function onto a series:

```
In [4]: s = Series(["hi","hoot", "far"])

In [5]: strings.startswith(s, "h")
Out[5]: 
0   True
1   True
2   False
```

You can also use other series to give arguments; they're not reindexed to the main series yet, but this is NaN aware:

```
In [6]: s = Series(["hi","hoot", "far", np.nan])

In [7]: strings.search_re(s, "h(.*)", groups=Series([0,1,1,0]))
Out[7]: 
0    hi
1    oot
2    NaN
3    NaN
```
