Unit tests for TestClient::RackTest.to_env_headers

Behaviour for empty hash was buggy - it was returning nil, but caller
was expecting empty hash. Two other unit tests are introduced just to make
better test coverage of this part of code.