Add spec for String#size with changing of encoding.

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.