Merge pull request #24 from ReDucTor/next

Cleaning up useless casts, adding python full regression ability, fixing CfgTest::testPlacePhi2
Convert more usages of std::string to QString.

Remove some redundant includes and functions.
More std::string -> QString work + a few more mem-leaks patched up.

Reduced include-file dependencies a bit
 * Changed BBTYPE to "enum class"
Prevent OSX/ohello from crashing by instantiating a fake Signature.
Report worst decompiled-bytes-per-second measure to regression_tester.rb

Fix doxygen docs for 2 functions.
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
Improve UnionType::meetWith and ArrayType::meetWith type recovery.

ArrayType when meeting with type instead of creating an union every time:
* checks if 'other' is compatible with the ArrayType, if it is
 * checks if other's 'completeness' is less then current BaseType, if it is, unchanged type is returned.
 * checks if sizes of BaseType and other match, if they do, checks if other is less complete ( SizeType vs NonSize type ),
   if that happens unchanged type is returned
 * then it clones the BaseType and tries to 'meetWith' with other, if this results in unchanged type, unchanged type is returned
 * otherwise a new ArrayType is returned, with it's size recalculated based on new BaseType

UnionType when meeting:
* Another union - will now meetWith all member types instead of only the first ( Not sure of this change actually )
* With other type :
 * 'other' type is matched agains each field in this union
 * the best meetWith result is used.

SizeType is no longer compatible with undefined NamedTypes ( 0 - sized ones )
Merge pull request #25 from nemerle/module_ownership

Module ownership
Extracting Range analysis into a FunctionPass
Finished converting RangeAnalysis into a FunctionPass
Merge branch 'range_pass_extraction' into next

First stepping stone to converting Boomerang to Pass-based architecture.
Remove unused files + fix a few doxygen warnings
Fix a few more doxygen warnings.
Missed a few .h files from previous commit.
And a missed cpp file as well..
Fix more doxygen warnings.
Remove empty util tests, fix a few more doxygen warnings.
Remove old win32 gui
Change result recovery from decompiler thread. Removed GC related code
from GUI/console 'main' files.