Category edit optimize

動き自体はかわっていませんが、SQLの発行数を減らしました。
またJSONの作成に専用のシリアライザを作って使うようにしました。

category_path のデータから、 fold とか map だけでツリーができたらよかったのですが、いまいち良い方法が思いつかなかったので再帰になっています。