Tree and error fixes

Additional fixes for:
#2815
#2818
#2851

Frontend fixes for:
#2840 (still requires backend fixes)
#2854 (needs fixes from https://github.com/divio/django-cms/issues/2852)