superenv cc: specify llvm-g++-4.2

We previously tried to call llvm-g++ under the name `g++`,
but this is now a link to clang on Xcode 5+.

Fixes #20691.
Clarify ENV.gcc, ENV.llvm c++ compiler names
python: clean up LINKFORSHARED inreplace

Fixes #20860.
Move Formula.factory into new Formulary module
Use Formula Loaders
Formulary.factory always expects a string
Add 'unload'.
Add TODO
fix typo