Implementation of async 'done' and changes to tests

Have implemented the 'done' argument of jasmines it method to allow testing of asynchronous tests. This currently requires tests to be slightly rewritten, to put the done argument as the first argument, which I'll update if you think it's valuable.