Fix some issues and add some improvements

Made a number of fixes and improvements
- Fix the stack trace to show the file and line number where a failure/error occurred
- Fix execution order of after_each
- Fix tags filter
- Incorporate pull request #293
- Exit code returns number of failures + errors
- Support distinguishing between test errors and assertion failures
- Support use of 'pending' inside an 'it' block
- Enable/Fix broken tests in cl_spec.lua
- Throw an error when support functions are called from it blocks or if they are nested within other support functions
- Add command line option to specify a random seed
- Add command line flag to force randomization on all tests
- Output random seed used when a test fails or errors out
- Support setup/teardown/randomize functions in file context
- Remove 'file' function from environment
- Add test spec/test aliases for it
- Skip tests if setup or before_each fails