Data Load from Asterix

If asterixdb partitions is different from the pregelix cluster, we should use hash partitioning here and there should be a sort operator before bulk loading.  Adding the support for that case will make the loading more robust and always work.
If asterixdb does partition datasets in the same way as the pregelix cluster, we can still use the current code to avoid repartitioning.