initial commit for ABTest

- API (draft)
- SPI (draft)