split libelf.c and libmach.c

Splits libelf.c into libelf.c and scanelf.c.
Splits libmach.c into libmach.c and scanmach.c.

The purpose is to encapsulate the lib and object file formats into different files.