The movePortlet and newer moveElement APIs are coded the same, but that breaks Respondr (or ngPortal). The APIs should align or be formally separated if backwards compatibility is required. It is also acceptable to revise the APIs since they are probably only used by the JS in the Respondr front-end.
does movePortlet(appendAfter, element, target) where target is last portlet in column. Expects to always have element added to end of column. Never does appendAfter have a target where UI isn't trying to have it be the last item in the column.
does movePortlet(insertBefore, element, column) when moving into empty column, expects to add into column.
ngPortal supports arbitrary folders nestings in layouts. so its needs:
insertBefore(element, folder) actually insert before folder
not sure how to add to end of page, maybe does movePortlet(appendAfter, element, targetElement which may be a folder). needs to append to end of list.