If there is no socket error, return an empty string

Summary: Right now we return `NULL`. PHP 5.x returns an empty string. Let's be compatible.

Fixes #3066

Reviewed By: @markw65

Differential Revision: D1668138

Signature: t1:1668138:1415410047:7339d837f79e4bda755cf5cbc2d8c716b5635c19
ftell() for sockets shouldn't be supported. So always return 0.

Summary: Right now, for sockets, we return the number of bytes written to the socket when we call
`ftell()`. But this shouldn't be the case.

See ESPIPE ... http://pubs.opengroup.org/onlinepubs/009695399/functions/ftell.html

PHP 5.x returns 0 when calling `ftell()` on a socket, so that's what I propose we doo.

This is a one line change, which can be the scariest. :)

Let me know if I am off base, but this does fix an HHVM OSS issue.

Fixes #3018

Reviewed By: @sgolemon

Differential Revision: D1668651

Signature: t1:1668651:1415413974:5c040e68e2b4ca1f7a206eef6eca35f54eac12b0
Test runner should print correct options to re-run failing tests

Summary: We were just printing `test/run <testname` even if options were provided. This fixes that.

Fixes #3916

Reviewed By: @paulbiss

Differential Revision: D1665442

Signature: t1:1665442:1415498351:98ea82d6286410ea07a28e4c7641bce59848fdd2