raise_if_... method renamed
Tests for dummy and normal encodings splitted

Added tests for actually empty string
Fixed empty string false encoding compatibility

If string is really empty and encodings is incompatible with regular
expression encoding (e.g. string encoding is ‘UTF-16BE’ and regex
encoding is ‘US-ASCII’) the Encoding.compatible? method gives false
positive compatibility, which causing “Encoding::CompatibilityError:
incompatible encoding regexp match” later on.