[ENH] Add "fullmatch" matching mode to Series.str [#32806]
- [X] closes #32806
- [X] tests added / passed
- [X] passes `black pandas`
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [X] whatsnew entry

This is my first PR against this project, so apologies if I've missed any steps in the process. I'm assuming that I'm supposed to fill in the checklist above myself.

This pull request adds the `fullmatch` regular expression matching mode to the other modes already present under the `Series.str` namespace. For example:

```python
>>> s = pd.Series(["foo", "bar", "foobar"])
>>> s.str.fullmatch("foo")
0     True
1    False
2    False
dtype: bool
```

The `fullmatch` matching mode restricts matches to those that only match the *entire* string. Note the differences from `match`:
```python
>>> s = pd.Series(["foo", "bar", "foobar"])
>>> s.str.fullmatch("foo")
0     True
1    False
2    False
dtype: bool
>>> s.str.match("foo")
0     True
1    False
2     True
dtype: bool
```

I've also added regression tests and a "what's new" entry.

I have also opened issue #32806 to cover this new feature.