Fix writing of empty strings
Avoid read/write I/O operations when values haven't changed
Add atomicity to the most common ConfigFile::SetKey path
Streamline (settings) hotkey handling

This moves all hotkeys that were accessible in the audio/publish
settings panes to a new hotkeys settings pane

Also makes the push to talk hotkeys behave like all other (settings)
hotkeys, i.e. as long as a hotkey is configured the hotkey is active
Extract out file naming and file stream creation from OBS::StartRecording
Track pts of encoded pictures
Pass pts of encoded picture to file streams
Add ReplayBuffer

Buffers at least the configured amount of seconds of video and audio
packets and writes them to a new file when SaveReplayBuffer is called
Add Save Interval support to UI/recording logic