On the puppetmaster (with the nginx+unicorn setup already running) I ran:
/usr/bin/ruby1.8 /usr/bin/puppet master --masterport=18141 --servertype=webrick --pidfile /var/run/puppet/thingy.pid --no-daemonize --verbose --debug
and on my test client:
puppetd --test --verbose --debug --detailed-exitcodes --masterport 18141
With a verified client, this should run just fine, and you should see a load of output scroll past on your non-daemonized puppetmaster instance. This shows that we can (as the documentation would imply) run multiple instances of puppetmasterd via different webservers on different ports, so it is possible to set up and test an entirely different puppetmaster instance using nginx+unicorn whilst the production instance is running. Then it's just a case of changing the config and changing the ports.