Blockmanager ui

This is an update to https://github.com/mesos/spark/pull/295

I didn't add any additional functionality beyond just bringing it up to date w/ master; I agree additional changes would be nice, but wanted to get this much merged in at least.

Comments greatly appreciated -- some parts of the merge were a bit ugly, and this section of the code is totally new to me.