rearrange hash methods. probably fixes #7000

code for string Dicts was getting inferred before hash was defined for
strings. key properties like hash should be defined along with types.
Merge branch 'master' of github.com:JuliaLang/julia