Significantly refactor NEXRAD Level 2 reader so it works.

Changed handling of compressed blocks to match Level 3 reader. This now
reads the whole file at once (which may or may not be a good thing), but
this allow re-using the IOBuffer class. Also change structure
declarations to match those from Level 3. Fix problem with the CTM
header causing the parsing of Message 31 data to break.