Lift the annotation parsing implementation out of the MachO library.

The annotation APIs need not be strictly tied to Mach-O; this allows us
to implement them independently.

Issue: PLCR-527