Finish splitting the headers
Now that we have reorganized the aml headers, make sure that we actually split all the building blocks into separate headers. We should end up with:
- include/aml.h for the core
- include/aml/buildingblock.h for each main abstraction
- include/aml/buildingblock/specific_implementation.h for each implementation of a building block
At this point, I think having aml.h include the main abstraction building block would be good, but maybe not include all the implementations inside each buildingblock.h
Fixed in !44 (merged).