HDFS-6995. Block should be placed in the client's 'rack-local' node if 'client-local' node is not available (vinayakumarb)

(cherry picked from commit ed841dd9a96e54cb84d9cae5507e47ff1c8cdf6e)
(cherry picked from commit 5f58886770958fe9a0d1499f1d866c8534c6b90e)

Conflicts:
	hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
HDFS-6995. Block should be placed in the client's 'rack-local' node if 'client-local' node is not available (vinayakumarb)
Adding missed test file

(cherry picked from commit cba1f9e3896c0526fa748cd1bb13470d5fae584a)
(cherry picked from commit fea721daf95cfaa487ce9877e5355c6672cb3cd3)