client functional tests using external vault network
make client functional tests a separate executable
move common process into functions