CLN: cleaning core/common.py
partial on #12503
- create `pandas/types`
- moved _some_ dtype to `pandas/types`
- move _some_ missing value utils to `pandas/core/missing`
- move `.take` and `.diff` to `core/algorithms`
- create `formats` with `core/formats,style` moved and `printing.py` (form `core/common.py`)
- removed some non-used functions

cc @wesm 

still more to do, but this is a start.
 @shoyer @jorisvandenbossche @sinhrks @TomAugspurger 

any comments. don't want to leave this out too long as it touches lots of things.
 Not objections to your description.

Not a big deal, but does `formatting/` make more sense than `formats/`?
 its slightly longer, but no big deal. 
 assuming you're just moving stuff around, this seems sane to me
 I'll look later this AM (pacific time)
 This all looks fine to me. 

Aside: I'm on vacation most of this month but planning to spend some time in May / June / July on refactoring to look toward retooling DataFrame internals (it would be nice to plot a course to removing the BlockManager, deprecating Panel, and some of the other under-the-hood internals work we've been discussing). In the meantime, anything that can be done to get organized and compartmentalize non-user code that will be affected will help this proceed more quickly. I think this patch helps us along this path. 
 np on schedule. will be a bit more internal refactoring soon. 
 @TomAugspurger do you feel strongly on the `formats` -> `formatting`?
 Not at all, especially since this is all internal and not user facing.
 @jreback : Are you missing something in `setup.py`?  When I try installing the `master` branch, the `formats` folder does not get installed, leading to the error `ImportError: No module named formats.printing`
 I pushed a change.

though I installed fine from a fresh clone (this had to do with package setup)
 @gfyoung you prob got somethign like this: https://ci.appveyor.com/project/jreback/pandas-465/build/1.0.409/job/fnp6uhksqcp039g4
 @jreback : Indeed, I did, and I'm happy to say that with your most recent commit, everything installs just fine now!  Thanks!
 great not sure why our install test on Travis didn't fail 
but I guess it's not actually testing the built version but just creating it

in any event appveyor catches it because of the way it builds (it's a full conda build) not just an inplace build 
 @TomAugspurger I think the doc build broke: lots of Styler warnings now. https://travis-ci.org/pydata/pandas/jobs/121316764.

building locally so far so good though (not done yet)
 Yes, just wanted to mention the same. It's the same error again as before. I can't remember anymore what solved it before
 Mmm, I think it magically fixed itself last time. Will look later.
 The `.. currentmodule:: pandas.core.style` in api.rst should probably updated?
 yep, just pushed it
 https://github.com/pydata/pandas/commit/8250d7c7ddfd321f91cf7ccd44cb906cdc63c0a0
 ok, this now built ok for me locally.

Still these but IIRC they were there before

```
None:None: WARNING: toctree contains reference to nonexisting document u'generated/template:'
```
