Fix path used for favorites when they're established in recents.

Simplify the path massage.  Specifically:

    .replace(new RegExp(model.get("url")), "");

fails to remove the file name when the removal is being done from the
recents section.

Also, use the FavoritesCollection to do that path generation, to clarify
the responsibilities.

Also, make the removal of favorite status only upon successful removal
of the file.

(There's more delegation of responsibilities to other objects that could
clarify and simplify the process a lot. I'm going to do a bit of that,
but it's now working.)
Small refactor of frequently repeated operation into favorites.store()
Refactor favorites removal according to responsibilities.

This continues to work solidly, regardless of where the the removal is
initiated.

We need to instruct the testers about interventions to take to clear
disruptive residue from the prior problems. I'll add that info to the PR.

The file deletion should eventually also go into the favorites, not the
view, but that will entail deeper changes to the collections and models
than I want to broach for this issue.
Try to remove favorite file as directory if removal as file fails.

Also, always remove favoriteness when requested, regardless of success
in removal of file contents.

Removal as directory provides for residue from the bug that this branch
addresses.
merged conflicts for 589
Missed part of a conflict
Merge pull request #589 from SpiderOak/issue-587-favorite-removal-errors

Issue 587 favorite removal errors