Issue title: Unknown bug or strange behaviour
 Issue body: Here is what I call:
`mp3 = new Mp3File(path, false);
//Do something with tags
mp3.save(path + ".new");
File oldFile = new File(path);
File newFile = new File(path + ".new");
oldFile.delete();
newFile.renameTo(oldFile);`
After that, the new file always is 400-500 kb big, as if `mp3.save()` didn't finish writing it to the disk. What am I doing wrong?
Thank you in advance

 Comments: 
 Comment 0: I have the same issue, but the resulting file is always 289 bytes.
 Comment 1: Seems like if you create the Mp3File with scanfile "false", it doesn't ever load the MPEG frames. So you only end up saving the metadata.
 Comment 2: It's hard to know what is going wrong without seeing the mp3. Loading and saving an mp3 with scanfile = true might result in the file being truncated if there are invalid mp3 frames in the file.

{'source': 'GithubIssues', 'repo_name_with_owner': 'mpatric/mp3agic', 'issue_id': 82320469, 'repo_stars': 1183.0}