Nearest Neighbors for Modern Applications with Massive Data