CLN: Move boxing logic to BlockManager
- [x] closes #12741 closes #12772 closes #12469
- [x] tests added / passed
  - [x] `map` related boxing
  - [x] `quantile`
- [x] passes `git diff upstream/master | flake8 --diff`
- added `Series.asobject` to return boxed `object` values
- remove `common/i8_boxer()`, `Series._maybe_box()` (only used by `.quantile()`)

If base direction looks OK, going to add some tests based on the spec.

@sinhrks this is awesome!!!!!

2 small comments.
 further pls review: #12469 which I think can be closed upon merging this? and #10207 the underlying issue.
 https://github.com/jreback/pandas/commit/b7ec8432f586783bea1ef6cf9b7197c3d5250111
cleans up the datetime logic & coercion. and makes it more block friendly.

going to merge this, then can come back and fix the frame to use blocks. This is a bit of a special internal method as it is a reduction which we normally don't pass thru to the block manager (so using this `raw` kw). I have to think about how this works, but this is ok for now. Can clean up in a later PR.
 thanks @sinhrks 

I may do a PR to make the reductions be a little nicer.
