Implement is_array_like
- [ ] closes #12764 
- [ ] tests added / passed
- [ ] passes `git diff upstream/master | flake8 --diff`
- [ ] whatsnew entry

Is it worth using this PR to consolidate how the common package is imported across modules? Some files use `from pandas.core.common import *` style whereas others use `import pandas.core.common as com`. Some even use both styles in the same file - is there a style preference and should I go ahead and fix this now? 
