Add dict key completion in IPCompleter
Additional test coverage for dict key completion
Comments and minor fixes
Make dict key completion more conservative

Only handle subtypes of dict, struct arrays and DataFrames
Safe isinstance for unloaded modules
Merge pull request #5304 from jnothman/dict_key_completion

Add dict key completion in IPCompleter