Added a BlockObjectWriter interface in block manager so ShuffleMapTask
doesn't need to build up an array buffer for each shuffle bucket.
Allow changing the serializer on a per shuffle basis.
Allow the specification of a shuffle serializer in the read path (for
local block reads).
Merge branch 'blockmanager' of github.com:rxin/spark into blockmanager

Conflicts:
	core/src/main/scala/spark/storage/DiskStore.scala
Merge branch 'master' of github.com:mesos/spark into blockmanager
Added a shuffle block manager so it is easier in the future to
consolidate shuffle output files.
Allow specifying the shuffle write file buffer size. The default buffer
size is 8KB in FastBufferedOutputStream, which is too small and would
cause a lot of disk seeks.
Merge branch 'master' of github.com:mesos/spark into blockmanager

Conflicts:
	core/src/main/scala/spark/BlockStoreShuffleFetcher.scala
Two minor fixes according to Ryan LeCompte's review.
Merged Ram's commit on removing RDDs.

Conflicts:
	core/src/main/scala/spark/SparkContext.scala
Cleaned up Ram's code. Moved SparkContext.remove to RDD.unpersist.

Also updated unit tests to make sure they are properly testing for
concurrency.
Added SparkContext.cleanup back. Not sure why it was removed before ...
Changed the type of the persistentRdds hashmap back to
TimeStampedHashMap.
Remove spark-repl's extraneous dependency on spark-streaming
Added removeRdd function in BlockManager.
Added the unpersist api to JavaRDD.
Merge pull request #591 from rxin/removerdd

RDD.unpersist: probably the most desired feature of Spark
Merge branch 'master' of github.com:mesos/spark