Couple of Netty fixes
a. Fix the port number by reading it from the bound channel
b. Fix the shutdown sequence to make sure we actually block on the channel
c. Fix the unit test to use two JVMs.
Flush serializer to fix zero-size kryo blocks bug.
Also convert the local-cluster test case to check for non-zero block sizes
Skip fetching zero-sized blocks in OIO.
Also unify splitLocalRemoteBlocks for netty/nio and add a test case
Also flush serializer in revertPartialWrites
Merge pull request #628 from shivaram/zero-block-size

Skip fetching zero-sized blocks in NIO.
Merge branch 'master' of git://github.com/mesos/spark

Conflicts:
	core/src/test/scala/spark/ShuffleSuite.scala
Merge pull request #627 from shivaram/master

Netty and shuffle  bug fixes
Do not create symlink for local add file. Instead, copy the file.

This prevents Spark from changing the original file's permission, and
also allow add file to work on non-posix operating systems.
Fixed the flaky unpersist test in RDDSuite.
More block manager cleanup.

Implemented a removeRdd method in BlockManager, and use that to
implement RDD.unpersist. Previously, unpersist needs to send B akka
messages, where B = number of blocks. Now unpersist only needs to send W
akka messages, where W = the number of workers.
Incorporated Charles' feedback to put rdd metadata removal in
BlockManagerMasterActor.
Merge pull request #636 from rxin/unpersist

Unpersist More block manager cleanup.
Sometime Maven build runs out of PermGen space.