Fix issue #284 Error reporting is inconsistent

Errors are reported differently depending on the type of error message:
  $ busted testcase_spec.lua
  ●●●
  0 successes / 3 failures / 0 errors / 0 pending : 0.0 seconds

  Failure → ./testcase_spec.lua @ 10
  testcase fails with table error
  {
  }

  Failure → ./testcase_spec.lua @ 6
  testcase fails with no error
  Nil error

  Failure → ./testcase_spec.lua @ 2
  testcase fails with string error
  ./testcase_spec.lua:3: error message

Update error reporting to display the file and line information for
non-string error types. So the above now displays as the following:
  $ busted testcase_spec.lua
  ●●●
  0 successes / 3 failures / 0 errors / 0 pending : 0.0 seconds

  Failure → ./testcase_spec.lua @ 10
  testcase fails with table error
  ./testcase_spec.lua:11: {
  }

  Failure → ./testcase_spec.lua @ 6
  testcase fails with no error
  ./testcase_spec.lua:7: Nil error

  Failure → ./testcase_spec.lua @ 2
  testcase fails with string error
  ./testcase_spec.lua:3: error message
Issue #284 Refactor error reporting

Refactor error reporting to have Lua insert file and line into the error
message.
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.
Fix issue #313 Failure line numbers in moonscript

Fix moonscript file loader
- Fix error message parsing when rewriting error messages
- Fix traceback parsing when rewriting tracebacks
- Fix file line number lookup when rewriting line numbers
- Fix publish error message to pass descriptor and filename
Remove unnecessary tail call

Remove tail call in busted.execute() so that the stack trace shows more
information. The function passed to busted.safe() does not need to
return anything, so just remove the 'return' keyword.
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

Support live coding with ZeroBrane Studio by replacing the function
returned by loadfile(), which was read from the file system, with the
calling function, which is loaded in memory.