AppLink Events

Besides the "revert of revert",  these are newly added:

1. getAppLinkData from Intent.getData as well

2. compatible with protocol to release

3. add unit test

4. provided gradle dependencies the support lib without actually adding it.

5. avoid crash for built Bolts, if using applink without requiring 'support' lib.

add support lib as provided dependencies
The general CountDownLatch pattern is to `await` on the test thread and to `countDown` in the async block once everything has been asserted. Your current implementation look like it relies on the `await` timing out after 2 seconds since there's no `countDown` which works, but always takes 2 seconds even if the async block finishes in say 200ms.