Rack aware replication

Adding rack-aware replication option. rack-id defaults to -1. use the max-rack-replication option when creating a topic to distribute replicas such that no more than max-rack-replication replicas are hosted on the same rack-id. This option is also enforced when adding new partitions. The option does not enforce manual (re)assignment.