broadcasting, partitioning - stuff required for optimal performance in Spark
added more partitioning stuff (api.clj)
added broadcasting stuff (broadcast.clj)