fix(scroll): ensure scrollView objects exist

Check if scrollView is null when switching off of tabs view. #2181
refactor(tabs): prevent unnecessary updates during destroy

If the containing ionTabs directive is being destroyed, then child
ionTab directives should not don't bother going through its
controller’s `remove` method, which selects a new active tab as each
ionTab is being destroyed. By selecting a new active tab as each tab is
removed, it causes unnecessary view loads, transitions and multiple
`viewState.changeHistory` events.