Redo Batman App

I was looking into [this JS error](https://github.com/tastejs/todomvc/issues/684) on the Batman app found that it was written without a lot of idiomatic Batman features. I added a lot of those so that this could serve as a better example for people exploring the framework.

Sadly the error is still occurring -- I think it might actually a Batman bug when a node disappears. But I figured I'd PR anyways -- the app is a good bit simpler and more Batman-flavored. What do you think?

PS. See the commit message for squashed commit messages!

PPS. Some Batman idioms I wanted to add were: Observers, data-yield/data-contentfor, data-context, Batman.View, routes keypaths, Rails-style controller actions (`index`, in this case!)