Fix getfenv/setfenv for Lua 5.2 compatibility

It is possible for getfenv to return nil for a function with no globals.

Use unique upvalue for setfenv.
Remove unnecessary requires in output handlers
Display error dots on file/describe failure
Fix junit output for file errors
Fix TAP output to show errors

TAP output was only showing success and failure results, but not errors.
So update TAP output to show errors as "not ok", just like failures.
Fix tests not running in parent directories

Error in pl.path.normpath causes leading '../' directories to be
stripped from a file path. This, in turn, prevents busted from finding
any files located in parent/ancestor directories.

Implement a fixed version of normpath and use it instead of
pl.path.normpath.
Fix help string for the default seed value
Add shuffle commandline flag (alias for randomize)
Add commandline option to repeat tests
Support for running tests standalone

Allows unit tests to be run standalone by just adding a require to the
top of a test file. This is useful if, for some reason, a command line
tool is not viable.

Just add the following require statement to the beginning of a test file:

	require 'busted.runner'()

This addresses issue #294.
Fix indent in runner
Refactor runner to be compatible with live coding