LazySingleton feature + fixes for some complex ioc cases

This commit contains a more stable & cleaned up version of the lazy singleton scope usable in the async bean manager. My old pull request can be closed in favour of this one: https://github.com/errai/errai/pull/91


When adding test cases I encouraged some advanced IOC test setup problems. At least I think so ;)
Please take a look at them as well. These fixes are required for my test running properly.

Unfortunately I wasn't able to solve all the formatting related issues even with the used errai codestyle. I somehow got slightly different results on my side.