Asynchronous exports

The implementation keeps the AMD working as specified (https://github.com/amdjs/amdjs-api/wiki/AMD). But on requiring `module`, the module object provides a method `async`, it returns a method to provide `exports` in an asynchronous way, the module won't be ready before calling this method.

Should be discussed:
- name of the method provided on the module object ```async```
- maybe provide an information, that this kind of exports is supported, ```definde.async = true;```
- could be useful for a new ```domReady``` implementation, to skip the additional callback inside of the factory

Test cases are included.