SERVER-13630 Enhance OwnedPointerVector
(cherry picked from commit daa7222fe86201e487f7b7d0c74bc97ecfd664cb)
SERVER-14506 special top chunk logic can move max chunk to a shard with incompatible tag

Make DistributionStatus store ChunkTypes instead of BSONObj
(cherry picked from commit c30b981260e26dfeff315b766e2887d4f7404f89)

Conflicts:
	src/mongo/s/balancer_policy.h
SERVER-14506 special top chunk logic can move max chunk to a shard with incompatible tag
(cherry picked from commit 9d1e5f95a2739a7672b697deb7d1da04ca8c4117)

Conflicts:
	jstests/sharding/top_chunk_autosplit.js
	src/mongo/SConscript
	src/mongo/s/balance.cpp
	src/mongo/s/balancer_policy.cpp
	src/mongo/s/chunk.cpp
	src/mongo/s/d_split.cpp
SERVER-14506 special top chunk logic can move max chunk to a shard with incompatible tag

Fix test