Add detail to exception messages
Add HardwareButtons class

This class displays a strip of buttons representing hardware
groups. The constructor accepts a y-coordinate and player index, and
it loads the relevant image. Calling drawButtons() redraws the buttons
and their beveled borders, optionally highlighting one of the groups.
Refactor hardware button displays to use HardwareButtons

This commit also clarifies a few functions in intel.cpp, as well
as streamlining away the R&D men display.