Deduce "nofree" function attribute. A more concise description of "nofree" is on D49165. This patch goes on the assumption that D49165 will be rebased and upstreamed.
There are a few things to consider.
# To use llvm::isFreeCall, I need TargetLibraryInfo(TLI) in AANoFreeFunction. For now, I lift TLI to AANoFreeFunction constructor from AttributorPass::run. Therefore, I changed some interface. I'm not sure this is appropriate. Perhaps it is better that Attributor has TLI as a member.
# Currently, nofree intrinsic functions are hard-coded in imitation of D60074. We need a more useful way to handle with intrinsic functions (ex. allow intrinsic functions to have attributes).