enhancement: support >1 sid-msg.map file

Multiple sid-msg.map or gen-msg.map files can now be specified in the
config files or on the command line. Every file will be read. Duplicate
entries will simply overwrite each other. Map versions are handled per
file (e.g. you can have a SIDMAPV1 file and an SIDMAPV2 file). This is
intended to simplify managing rules from multiple sources - instead of
having to concatenate the map files.

fix: handle errors from strtoul() in ParseGenLine() and ParseSidLine().
Previously invalid values in the map files were just being returned as
0.

Additionally, all map parsing related functions were refactored:
	- Combined ReadGenFile() and ReadSidFile() into ReadSidFiles(),
	  which calls out to ReadSidFile() for each map file in the config.
	- Split ParseSidMapLine() into separate functions for V1 and V2.