Test suites, cases, runners, and steps

Started more robust testing framework.
Some ES6 refactoring.