added more stuff to work with partitioner (esp. HashPartitioner) and to keep partitioner on transformations wherever possible. This makes a tremendous difference on performance!