simplify vaddr_2_foffset
lots of cleanups by passing offsets instead of pointers
cleanup read_build_id