factor test from tableViewDatasource and reuse it to enable the choose button.
if the app has not been linked yet, viewWillAppear always presented the login-Controller resulting in a loop the user is stuck in. Fix it by factoring out code to present controller and thus use the retry-count. if retries are reached, let the delegate know we cancelled. Also, disable the 'cancel' barButton while the login-controller is presented. This fixes a crash when DropboxSDK presents the login-controller async and use dismisses the selection controller.