string contains method doesn't respect na argument
It seems that the argument `na` doesn't remove the NaN with `str.contains` (see [previous issue](https://github.com/pydata/pandas/issues/1689)).

Using similar to example in [test added for na functionality](https://github.com/pydata/pandas/commit/7a1ea0a3d189b1be7cdd23a7b98f79effd381430):

```
In [1]: values = Series(['om', NA, 'foo_nom', 'nom', 'bar_foo', NA, 'foo'])

In [2]: values.str.contains('foo', na=False)
Out[2]: 
0    False
1      NaN
2     True
3    False
4     True
5      NaN
6     True

In [3]: values.str.startswith('foo', na=False)
Out[3]: 
0    False
1    False
2     True
3    False
4    False
5    False
6     True

```

_From [Stackoverflow question](http://stackoverflow.com/questions/14731714/value-error-when-slicing-in-pandas/14731958)._
