BUG: don't allow users to move from an interned string
- [ ] closes #xxxx
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [ ] whatsnew entry

I was thinking about code paths that give away borrowed references to strings and realized that interned strings can be accessed even when their refcount is 1. This is because the intern table holds a "weak ref" to the string. This allows the string to be garbage collected normally; however, if a user creates an interned string with exactly one reference and feeds it to move, you could later get a second reference to the **same** string object by calling intern with a copy of the old string. The data backing the old string may have been mutated so you will get very strange results. I am almost certain that no on has run into this since `move_into_mutable_buffer` was added but it doesn't hurt to add this quick check to prevent broken usage like this in the future.

This only affects python 2 because bytes objects cannot be interned in python 3.
