chore: get rid of "pulse" from scl names
feat: handle errors in slave state Moves logic of error handling to slave_state from tx entity.
feat: add unexpected_sda tx signal
tests: split master i2c functions to separata package
feat: handle ack in rx, tx
feat(tx): remove unnecessary bit index
tests: add tx testbench