Reworked with better searches, instead of checking

Using the q param of children.list is a more concise and faster way to
get the files (and then folders) I'm interested in. This works well.

I've also added, but currently remmed out, Celluloid integration, to
enable one-per-core copy/replace jobs. This actually works great, but is
so fast it's hitting rate limits, and when that happens on the trashing,
then the copy itself is left there, and a re-run will create a second
copy.

I need handling within both copy_file and trash_file for "An error
occurred trashing original: Rate Limit Exceeded" to delay and retry a
number of times, with exponentially longer wait times as they suggest in
the docs.