[refactor] move scratch implem to separate headers

The overall strategy for now is to split the implementations into
distinct headers, but keep the generic APIs inside the main aml.h

Related to #27
3 jobs for split-more-headers in 18 minutes and 42 seconds (queued for 1 second)
Status Job ID Name Coverage
  Build
passed #28758
make:generic

00:09:39

passed #28759
make:knl

00:09:03

passed #28757
repoquality

00:05:25