Why is it so complicated to add two buttons ?
This isn't as simple as it might seem, because the software is structured in many separately developed pieces.
The code to send the reboot request is in a command line utility, not the Teensy Loader GUI application. Currently the GUI application doesn't even know the location where that command line program resides. The GUI code is all structured very differently too, as a single threaded event loop and built on top of the wxWidgets cross platform GUI library. That design works well for making a GUI that's consistent on Mac, Windows & Linux, but it comes with a lot of baggage. Doing things the way the command line utility does inside such a GUI causes the user interface to stall, and the length of time the GUI controls remain frozen can't easily be kept under a low threshold in all cases. Certainly there are solutions, like multi-threading, but those bring with them tremendous complexity. Also on Windows, at least last time I checked (admittedly years ago) going to threading with C++ runtime was the tipping point where a single stand-alone EXE has to turn into a package at least one DLL. The reboot request code could be rewritten from the ground up to work within the GUI's event-based model, but that's more involved than a 1 hour project of just repurposing prior code.
Likewise on the Arduino side, starting with 1.6.6 the Arduino devs moved all the build system to a command line program. I'm personally not a big fan of that design decision, but I can see why they wanted to do so. The new builder is written in Google Go language. I've been avoiding touching it, and for that matter I've been mostly trying to focus on device-side things like USB Host, rather than more hacks inside the Arduino IDE. There probably is some way to add a button which would delete all temporary files. I would challenge anyone who thinks they could do it in under an hour to dive into the Java code of the Arduino IDE and prove themselves!
However, putting the reset request button in the Arduino IDE might be doable on a reasonable time scale. The IDE is set up to run those types of commands. The IDE already has threading due to the Java JRE. All that heavyweight Java environment does make a lot of things much simpler than a C++ build with wxWidgets which targets a single-file executable (no libs, no DLLs).