Accepts integer/float string with units and raises when unit is ambiguous
I couldn't get tests to run on my machine so I will see if it passes on the CI servers.

- [x] closes #12136
- [ ] tests added / passed
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry
