Let r_AmbientScale scale the outgoing diffuse light.

The incoming directional light creates some diffuse output too,
this change allows to set r_ambientScale to 0 and get only the
specular reflections.
Reload map pk3s when the client disconnects
Fix the /record command
Newlines at the end of commands are not requires (or printfs)
Fix key-down+key-up mis-ordering when both occur in the same frame.
Fix sub-frame input handling.

This needs IN_Frame() to be called often, maybe more than once per frame.
Timestamps reflect when this was called rather than the actual event times,
so we work around this by calling it from within the delay loop in
Com_Frame(). Wake-up within that loop is approx. every 50ms, so the
minimum calling frequency should be 20Hz.