Fix #67, call beforeEach and afterEach for each test in nested suites

All `beforeEach` and `afterEach` methods from a test's suite hierarchy are now called for each test.  I used `instanceof` in `Suite` to differentiate between a suite and a test so calling `beforeEach` and `afterEach` could remain in `Suite#run`.