Enforce boolean types
- [ x ] closes #14189
- [ x ] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

This PR only addresses the `inplace` argument, though there was a comment on #14189 that identifies the issue as being with the `copy` argument as well. I can build this out further to account for all of the frequently occurring boolean arguments.

I also wrote tests for the common function `_enforce_bool_type`, but didn't write individual tests for every method with an `inplace` argument. This is something I can add if it makes sense. I wanted to get something reviewed sooner rather than later to get feedback and ensure that I'm on the right track. Feedback is much appreciated -- thanks!
