documentation edits, added get|set_prev|next_safe|unsafe() functions, enforce block::data frees memory upon block::unload()