make: Link libelf in libsimavr.so.1 target

The build (sometimes) fails if libsimavr.so.1 is not linked with
libelf (see https://bugs.archlinux.org/task/40309).
Update README.md

Lots of cores were missing in the readme
flash: Add support for TEMPPAGE writing.

The proper way to write to flash on the AVR is to write
to the temp page and then write that temp page to flash.
This allows cancellation with the RWWSRE bit for clearing
out the temp page without writing it to flash.

This fixed a bug where the RWWSRE bit was being set in a
command, but the flash driver was improperly writing whatever
was in r0/r1 to the first address in the page, overwriting
what was already there. In reality, the code running on the
core was trying to just flush the temp page or unlock the read
while write section.
parts: Added SSD1306 OLED driver virtual part
examples: Added SSD1306 example board

atmega32_ssd1306.c 	Example avr firmware
ssd1306.*		SSD1306 avr driver
images.*		simavr logo used in example firmware
ssd1306demo.c		simavr demo for ssd1306 part
avr_timer: refactor avr_timer_write and avr_timer_reconfigure

avr_timer_reconfigure: calculations moved back in call chain to
 avr_timer_write.

avr_timer_configure: use data processed in avr_timer_write.

avr_timer_init: changed to fully trap writes going to as2,
 clock select bits and waveform generation mode bits.

	modified:   ../../simavr/sim/avr_timer.c
	modified:   ../../simavr/sim/avr_timer.h

avr_timer: remove as2 timer check.

	modified:   avr_timer.c
Makefile: fix for OSX bash variable substitution

This was generating a bad config file

Signed-off-by: Michel Pollet <buserror@gmail.com>
cores; 128rfr2, tiny84 and megax8, temp fix for bad arv-libc headers

Temporary, to make the build work. Seems the latest avr-libc in debian
is rather mangled.

Signed-off-by: Michel Pollet <buserror@gmail.com>
parts: Bug fix for i2c_eeprom part

    Fixes:

    > Part address and mask weren't set in i2c_eeprom_init. The
      virtual part responded to all addresses.
    > Mask required inverting to function as per the description in
      i2c_eeprom.h
twi: Clear TWSTO bit after STOP condition transmitted

> This change fixes a problem where a TWI driver polling the
  TWSTO bit would run on the real device but not simavr.

> More detail in for example p188 of the ATMega32A datasheet
  (rev 815D-AVR-10/2013).
examples: Removed unused code in ssd1306 demo
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
corrections to adaption of free run

sim_avr.c: avr_callback_run_raw
	prior code changes reverted.

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.

	modified:   simavr/sim/sim_avr.c
	modified:   simavr/sim/sim_core.c
Merge branch 'master-core-run-many' of https://github.com/bsekisser/simavr into master-core-run-many

Conflicts:
	simavr/sim/sim_avr.c
	modified:   simavr/sim/sim_avr.c