Changes to allow the core to free run between cycle timers with per interval limiting.

Average cycle times drop by about 15-20 cycles per emulated cycle.

sim_avr.c: avr_callback_run_raw() changed.
	loop put around call to run core while status is cpu_Running
	with cycles available to run and pending interrupts.

sim_avr.h: struct avr_t changed.
	added members run_cycle_count and run_cycle_limit.
	run_cycle_count is number of cycles till next cycle timer.
	run_cycle_limit is maximum number of cycles to run per interval.

sim_cycle_timers.c: static avr_cycle_timer_set_limited_run_cycles() added.
	avr_cycle_count_t avr_cycle_timer_set_limited_run_cycles(avr_t *avr).
	sets run_cycle_count limited to run_cycles_limit and returns
	number of cycles to run or sleep...

	>> avr_cycle_timer_reset() changed.
	run_cycle_count and run_cycle_limit is set to default values.

	>> avr_cycle_timer_insert()
	>> avr_cycle_timer_cancle()
	>> avr_cycle_timer_process()
	call avr_cycle_timer_set_limited_run_cycles() to set/maintain
		run_cycle_count.

	modified:   sim/sim_avr.c
	modified:   sim/sim_avr.h
	modified:   sim/sim_cycle_timers.c