[ArrayManager] DataFrame constructor from ndarray
xref https://github.com/pandas-dev/pandas/issues/39146

Currently, the `DataFrame(ndarray)` construction for ArrayManager still went through BlockManager and then `mgr_to_mgr` conversion, which is less efficient. 
This PR adds a check in `ndarray_to_mgr` for directly creating an ArrayManager.

~It's still WIP, because there are still some validation steps that are now done inside BlockManager/Block inits, that need to be factored out / shared / added to ArrayManager path.~
This pull request is stale because it has been open for thirty days with no activity. Please update or respond to this comment if you're still interested in working on this.