Add more validation around boom file

This adds some validation around the boom file. We make sure it contains valid JSON and also make sure it is not empty. PR #103 makes sure we create the file if it's totally empty but in case there's some end of file data or just a space this makes sure we're not calling a method on a nil object (storage in this case). 

There's no test yet but I plan to do some. Opening this PR to get some initial feedback (eg. is this really needed?)