added more tests, fixed rotor bug - the emulator is now producing accurate encoded messages