Add tests for --drop-env-var and its interaction with --reexec-as

This should pretty much cover all the changes we need to make einhorn
resilient to bundler/rbenv ruby upgrades.
Try to make the tests compatible again with 1.8.7 and above

* Use File.open() { f.write } instead of File.write
* Use require(File.expand_path(...)) instead of require_relative
Make tests wait until they can reach the server port

This should eliminate the race conditions where the control socket
exists but the server port isn't open yet.