Fix more issues

Made the following changes:
- Fix issue #289, #302 attempt to index global in before_each blocks
 - Use parent env for ```setup```, ```teardown```, ```before_each```, ```after_each```
- Fix issue #283 Run duration is always 0.0 seconds
- Fix issue #250 Weird context popping
 - Use a stack to manage context pushing/poping
- Fix issue #272 Syntactic sugar does not work
- Fix issue #284 Error reporting is inconsistent
 - Display file and line for nil errors and error objects
- Fix issue #313 Failure line numbers in moonscript
 - Fix moonscript file loader
- Fix error messages for terra test files
- Fix getfenv/setfenv for Lua 5.2
- Fix output handlers
 - junit output for file errors
 - Show errors on TAP output
 - Show error dots for file/describe failures
 - Remove unnecessary ```require```
 - Cleanup function signatures for suite start/end
- Fix tests not running in parent directories
 - ```path.normpath``` from ```pl``` has a bug for paths that look like ```../../a/b/c/```
- Fix help string for the default seed value
 - Show default seed as ```os.time()``` instead of displaying the current time in seconds
- Reload modules between test files (issue #62)
- Add ```--shuffle``` command-line flag as an alias for ```--randomize```
- Add ```--repeat=COUNT``` command-line option to run tests repeatedly
- Add support to run tests standalone (issue #294)
 - Add ```require 'busted.runnner'()``` to your test file to enable ```$ lua testcase_spec.lua```