More tests, and new 'setup' phase for testing

As @kevinranks asked in #12, this PR adds an optional "setup" phase for each test. The "js-test" qUnit test generator already supports it, and to demonstrate I have added a few new tests to ```validate.yml```, increasing overall coverage.

Hope this helps! Again, as usual, please let me know if you have any questions or bump into any issue! :)
@kevinranks I also saw that the code is now appending a version string. Again, is this supposed to happen? If this is the case, we might need to update the test code to append the version number dynamically automatically so we don't have to update this manually every time we get a version bump.