First step toward fixing the object ownership in Boomerang

Prog is now holding a list of Modules and Modules hold lists of
functions.

Todo:
* Extract Module dependency graph as a standalone construct, and do not
store it in Modules themselves.
* Extract Module contained-by relationship into standalone construct
too.
Fix output stream selection during code generation, decorate globals with their source address.

Fix ADDRESS related bug in UserProc::dfa_analyze_scaled_array_ref
Merge pull request #25 from nemerle/module_ownership

Module ownership