emb-sw/*: add initial support for multiple devices

This commit changes the interfaces of some common
drivers in order to support multiple instances
os the same core (e.g., multiple gpios)
emb-sw/*: add spi driver
emb-sw/*: add i2c driver
emb-sw/*: add onewire driver
emb-sw/*: simple fixes reallocation of files
emb-sw/*: various modifications to the spi, i2c, onewire interfaces
dbe_bpm_fmc516.vhd: fix BYTE granularity and some clocks
wb_fmc516/wbgen/*: update register interface
wb_fmc516/*: fix delay interface and add user mapping for clock/data
wb_fmc516/wbgen/*: update register interface 2
wb_fmc516/*: add degub signals for delays
wb_fmc516/wbgen/*: add update delay signal for clk and data
wb_fmc516/*: various fixes and initial ddr alignment
testbench/*/wb_fmc516/*: simple register addressing test
wb_fmc516/*: various bugfixes and some cleanup

data/clock delays are now synchronous to sys_clk
wb_fmc516/*: fix ddr alignment
emb-sw/*: add interface to some fmc516 chips
emb-sw/*: small fixes and indentation issues
emb-sw/dbe_main*: new top files
emb-sw/*: add spi delay and other tests on main