Decouple the Loader plugins from the boomerang internals

Only abstract interfaces are used between the core and *BinaryFiles
Should make the resulting loaders much smaller, especially on windows.

Refactored Prog::generateCode by extracting a function for data-section code-gens.