Improve testing of emulation API functions
The implementation of an emulation API requires better test coverage:
- A selection of sample observational clients running with an emulation client.
- Support for x86 and ARM (currently on AArch64).
- More complex emulation clients.
#3112 (closed) #3104 #3168