fix a type intersection bug, closes #2997

this also exposes 2 new method ambiguities (in scale!)
Merge branch 'master' of github.com:JuliaLang/julia