[SPARK-1784] Add a new partitioner

This change adds a new partitioner which allows users
to specify # of keys per partition.