Prevent subsequent func tests from failing when previous func. test fails - Issue #46

Pulled together a test  (f5b0607) that properly demonstrates issue #46, having found that the problem was promises being shared between tests as they all use a promise chain shared on the parent suite (so if test a fails, test b's is using the same promise chain, which has already failed, so it cannot pass). I have a really simple fix to reset the promise chain (3541a4b), and found some other small issues along the way, including the test promise not being rejected once failure had been published, so to get round this I reordered finishRun very slightly (0704baa) - HTH!