Make functional tests more flexible

Add options to the functional tests so that they can be run
for different architectures (x86 and arm) and channels more easily.