Only set source encoding when specified from -K to match MRI.

It doesn't appear that MRI's source-encoding logic is the same in
1.9 and 2.0, so my fix for -Ku based on 2.0/2.1 codebase caused
test failures. But 2.0 and 2.1 fail the tests the same way. So
to compromise and allow the -K fix to work when specified, I have
modified this code to honor the -K encoding when specified, but
otherwise use the old default source encodings. This may not be
quite right, but it makes us match 1.9 again.