Squashed 'plugin/floo/common/' changes from 006863c..f7ad5d9

f7ad5d9 Don't generate p_path unless we're going to need it. Do the cheaper comparison first.
61a5928 Fix horrible bug where get_children was returning tons of duplicate children. Don't append to the list you're iterating over.

git-subtree-dir: plugin/floo/common
git-subtree-split: f7ad5d94143fcfe75315706c6415fc432b6b7daa
Merge commit '298e6cce49d5251079f95a7b780f4e90a1ac5db9' into floorc_json