Adds a preferred_base field to the module_data_t struct. There is no compatibility break as DR allocates all such structs.
Adds a preferred_base field to the drmodtrack_info_t struct. There is no compatibility break as it has a struct_size field. Offline drmodtrack files do incur a version bump here, so an old reader will fail when reading a file with the new field. The field is set to a -1 sentinel to aid in determining whether a file has the field or not. This is also done here with the previously-added offset field.
Adds some sanity checks to the corresponding tests.
Fixes #4774 (closed)