Add PgoFunctionInline

This is the profile guided function in-lining pass. So far all it does
is print out execution counts for each function, but that at least works.
Change PgoFunctionInline to an Inliner pass
Remove compiler output files
Get execution count at call sites
Implement getInlineCost outside of the struct
Change output to use debug macro
Inline if execution count is above a threshold
Add debug type

This will allow for debug info to be printed only for this pass.
Change the name of the debug type
Create analysis pass PgoInlineAnalysis

This pass will get the total execution counts for all basic blocks and
the maximum execution counts for basic blocks and use this to provide a
bonus to the inline cost calculated by the InlineCostAnalysis class.
Collect overall execution count information
Use profiling information in CallAnalyzer

CallAnalyzer performs the actual analysis of the cost of inlining. This
will now make use of the profile guided analysis.
Remove proof of function debug messages
Implement very simple linear heuristic

The heuristic is currently used to compute the bonus applied to the
inline threshold. I have been able to change the behavior of the pass
with this, but the constants and the heuristic need to be tuned.
Delete PgoFunctionInline.cpp

This isn't needed since I am now implementing the pass as an analysis
that is added to the decision making process of the standard inline
pass.
Merge branch 'PgoFunctionInline'

Going to go with this implementation strategy, so merge branch.