Bug fix: async spec run in the global context (and not the currentSpec context)

When creating an async spec, the context ("this") should be the current running spec, as it is on sync specs.
The actual context is the global scope, which means beforeEach, it and afterEach do not share a common isolated context. It also means that this.fail() does not work in async specs (one must use jasmine.getEnv().currentSpec.fail())
This pull request include a test and fix for that issue, bringing the current running spec back to the masses.