corrections to submitted free run code adaption

sim_avr.c: avr_callback_run_raw
	prior code changes reverted (adapted into avr_run_one).

sim_core.c: avr_run_one
	* new label run_one_again added
	* clause added to facilitate multi cycle loops when
		cpu_Running, more cycles left to run,
		interrupts enabled and none pending.

avr_cycle_timers.c: avr_cycle_timer_reset_sleep_run_cycles_limited
	sleep_cycle_count was set to return either the number of
	timer cycles or DEFAULT_SLEEP_CYCLES and because of an
	observed special case made to return 1.  I believe this
	may result in overshoot where sleep happens and the code
	automatically assumes 1 cycle and we erroneously give it 1
	resulting in 2 cycles passing.

sim_core.c: avr_run_one
	corrected coding errors.

	modified:   simavr/sim/sim_avr.c
	modified:   simavr/sim/sim_core.c
	modified:   simavr/sim/sim_cycle_timers.c