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
Is there a reason we don't `lock.countDown()` in here?