locateFirstBundlableAncestorNode now throws an exception

refactoring locateFirstBundlableAncestorNode so if the bundlable node can't be found an exception is thrown. This check was being done by every bit of code that used the method, its now done centrally isntead.  @dchambers can you review and merge?