Cedex 0000 rewrite base apps

avoid temporary arrays/objects, avoid sorting, use maps instead of searching, combined bursting apps, misc reusable utilities...

the combined bursting app could use more tests to verify usage is working correctly but bandwidth exercises the same code paths so there should be no surprises

because of variable hoisting we can reorder the files so code is sorted from most to least likely to change... at the top is config, then app logic and at the bottom are boilerplate utility functions. if we wanted to be more explicit about it there could be comments warning against editing past some point...