runtests.sh improvements
runtests.sh improvements

Summary:
adds an `-l` flag to list all tests, and a `-t TEST_NAME` flag that
runs a specific test. also adds a `-q` flag to quiet down the output, and a `-d DIR`
flag to run the tests in `DIR/tests/` instead of the ones that are next to
runtests.sh.

since `getopts` doesn't parse options after the first positional arg, I also
added optional `-b` and `-f` flags for the binary name and filters. you can
continue to do `runtests.sh bin/flow classes`, or you can now do
`runtests.sh -b bin/flow -f classes` so that you can add `-r` to the end of the
command instead of as the first arg.

Reviewed By: gabelevi

Differential Revision: D6306731

fbshipit-source-id: bb940cb7d49aa8b6bcbcbe08ca5deffedf26116f

popham/flow,jamesgpearce/flow,JonathanUsername/flow,JonathanUsername/flow,facebook/flow,nmote/flow,samwgoldman/flow,mroch/flow,TiddoLangerak/flow,facebook/flow,samwgoldman/flow,TiddoLangerak/flow,ylu1317/flow,jamesgpearce/flow,JonathanUsername/flow,mroch/flow,samwgoldman/flow,ylu1317/flow,mroch/flow,claudiopro/flow,nmote/flow,mroch/flow,claudiopro/flow,AgentME/flow,claudiopro/flow,gabelevi/flow,JonathanUsername/flow,gabelevi/flow,popham/flow,facebook/flow,gabelevi/flow,jamesgpearce/flow,nmote/flow,mroch/flow,facebook/flow,facebook/flow,claudiopro/flow,mroch/flow,facebook/flow,samwgoldman/flow,AgentME/flow,gabelevi/flow,facebook/flow,nmote/flow,popham/flow,ylu1317/flow,nmote/flow,nmote/flow,JonathanUsername/flow,samwgoldman/flow,TiddoLangerak/flow,gabelevi/flow,TiddoLangerak/flow,popham/flow,samwgoldman/flow,jamesgpearce/flow,popham/flow,AgentME/flow,AgentME/flow,claudiopro/flow,popham/flow,ylu1317/flow,AgentME/flow,popham/flow,JonathanUsername/flow,nmote/flow,JonathanUsername/flow,gabelevi/flow,jamesgpearce/flow,jamesgpearce/flow,gabelevi/flow,samwgoldman/flow,jamesgpearce/flow,TiddoLangerak/flow,ylu1317/flow,mroch/flow