Moved RemoveDups() into array_ops.funcs module; copied (and somewhat enhanced) common.FromKey() and common.ToKey() into string utilities module; given those changes, links and tags are mostly decoupled from the editor (instantiation still pending); all AddMultipleListeners() calls are now just event listener registrations