Greetings. FYI I have written a small plugin to help dissolve relations. More info below. If you think it is appropriate functionality to integrate into core let me know if you want me to give it a shot.
Keep up the great work, - John Main intent is to make it much easier to create boundaries that are derived from existing smaller boundaries in OSM. Documentation here: https://wiki.openstreetmap.org/wiki/JOSM/Plugins/RelationDissolve. I tried writing for simplicity of integration and maintenance rather than performance, as per your dev guide. Key logic is only ~4 lines in: https://github.com/jkennedyie/relationdissolve/blob/master/src/org/openstreetmap/josm/plugins/relationdissolve/actions/RelationDissolveAction.java