Make gen_test's timeout configurable

Lessons learned from testing Motor with my equivalent, async_test_engine: it's nice to be able to increase the timeout on specific tests if they legitimately take over 5 seconds. It's also nice to set the timeout with an environment variable when launching an interactive debugging session - in this case I generally set the timeout to something huge so I'm not interrupted while debugging.