Add spec for String#size with encoding change.

The characters number of the string is cached inside `vm/builtin/string.cpp` in num_char. It should be invalidated when the encoding changes, for example because of `String#force_encoding`: with a different encoding, the correlation between characters and bytes may change completely.