Fix memory leaks

Adds an survey_line.unload_data() method to dereference depth lines and image data so they can be gc'd. Otherwise memory consumption gets out of hand (~4GB for applying an algorithm to all of Corpus Christi, for example).

This is based off of the hdf5-rework-rebase2 (#72) to avoid tedious merge - just see the last commit.