Remove write-only field matcen_info::hit_points
Remove write-only field matcen_info::interval
Avoid redundant -Werror usage

If -Werror is set by the user, use -Wflag instead of -Werror=flag.
Fix -Werror leakage on failed CXXFLAGS-free tests
Throw exception on corrupt weapon list
Refactor UDP_MyPort handling

Store as short, not string.

Centralize reset-to-default.  Fixes sometimes resetting to hardcoded
default instead of GameArg default.

Centralize and improve error check.  Now rejects privileged ports
consistently.
Ignore -udp_myport requests for reserved port
Compact pad_storage
Remove state_save_old_game

Saving old player structure is broken since d9e2337 switched to saving
the pointer to sg_player instead of the value of sg_player.  No one
reported it in 6 years, so remove it.
Use unique_ptr for grs_canvas
Use C++ memory management for window
Compact version number definition