CodeGen: Don't create branch weight metadata from empty profiles

If all of our weights are zero when calculating branch weights, it
means we haven't profiled the code in question. Avoid creating a
metadata node that says all branches are equally likely in this case.

The test also checks constructs that hit the other createBranchWeights
overload. These were already working.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205606 91177308-0d34-0410-b5e6-96231b3b80d8