add docs for Batman.Event and subclasses

Docs for `Batman.Event`, `Batman.PropertyEvent`, `Batman.Property` and `Batman.Keypath`.

Finally accomplished my goal of figuring out how the heck batman.js tracks its sources! And let me say, it is awesome. Very clever, and I love that I don't have to [declare my dependencies](http://emberjs.com/guides/object-model/computed-properties/)! I have more confidence in batman.js update magic after giving it a good read, can't wait to share it.

It was interesting that `Batman.Property` actually extends `Batman.Event`. I wasn't expecting that, but it does make sense! Why does `Batman.PropertyEvent` exist, though? It's never instantiated and its only extended by `Batman.Property`, right? Anyways, just wondering.

Let me know what you think!