Fix potential load error of AsyncObserver::Extensions

In development environments where AsyncObserver is, potentially,
auto-reloaded by Rails, the AsyncObserver module could be undefined
when `async_observer/extend.rb` was reloaded. This commit changes
the code to redefine the module if necessary. Also included is
providing an absolute scope to AsyncObserver::Queue, which will
hopefully play a little nicer with Rails autoloading.

Change-Id: I3cbb31591a03bde0b64bc2d78f8848ce1b8ec8c0
Reviewed-on: https://gerrit.causes.com/28861
Reviewed-by: Lann Martin <lann@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>
Reviewed-by: Greg Hurrell <greg@causes.com>
Reviewed-by: Tony Wooster <tony.wooster@causes.com>
Tested-by: Tony Wooster <tony.wooster@causes.com>