Add no-side-effects version of navigateToAppLink:error: and navigate:

### Summary

- Allows app to know the type of navigation that would result of calling `BFAppLinkNavigation`'s `+navigateToAppLink:error:` or `-navigate:` without having any side effects (i.e. no navigation)
- Also adds a test to ensure same output as `+navigateToAppLink:error:` without the side effects.

### Motivation

Relying on `-navigate:` completely hands off app behavior to Bolts. These no-side-effects functions allow apps to know what behavior Bolts is going to adopt with a given `BFAppLink`.

At Timehop we want to:

- completely hand off behavior if it's an AppLink with eligible targets or;
- use one of our own web views if it's just a regular link or a link that cannot be handled by any installed apps.